【发布时间】:2019-02-14 04:44:28
【问题描述】:
我有一个 php 类处理程序,用于为我的 exercise-group.php 页面创建 html 输出。但是,使用 Jquery/AJAX 调用此输出(项目数组)并将其添加到页面中。但是,有一些数据值没有显示,因为它们将被传递到 exercise-single.php 页面。如何使用 jquery 收集这些数据值,将它们加载到 php 值中并将它们存储到 $_Session 变量中,以便在用户单击 href 标记后,executive-single.php 可以显示这些变量。很抱歉发了这么长的帖子,但这是我能做的最好的解释我想做的事情。
Exercise.class.php
class Exercises {
public $vidSource;
public function displayExercises($result) {
if ($result->num_rows > 0) {
// output data of each row
while ($row = $result->fetch_assoc()) {
echo "<div class='media'>" .
"<div class='media-object pull-left'>" .
"<a href='exercise-single.php'><img src='".$row["ImgResource"]."' class='img-responsive' alt='curl'></a>" .
"</div>" .
"<div class='media-body'>" .
"<h4 class='media-heading'><a href='#'>".$row["Exercise"]."</a></h4>" .
"</div>" .
"</div>";
$vidSource = $row["VidResource"];
}
} else {
echo "<img src='https://media.giphy.com/media/cwTtbmUwzPqx2/giphy.gif' class='img-responsive'>";
echo "<h3 class='media-heading'>No workouts exist for this muscle yet.<br>Please try another one.</a></h3>";
}
}
}
?>
ExerciseHandler.php
<?php
include 'Exercises.class.php';
include 'dbconnect.php';
if(isset($_POST['muscle'])){
$muscle =$_POST['muscle'];
$connect = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT * FROM exercises WHERE Muscle = '".$muscle."'";
$result = $connect->query($sql);
$exercises = new Exercises();
$exercises->displayExercises($result);
}
?>
loadExercises.js
var muscle_id;
function getMuscle(clicked_muscle){
muscle_id = clicked_muscle;
$.post("ExerciseHandler.php", {
muscle: muscle_id
},
function(data, status){
$("#exercise-list").html(data);
});
}
【问题讨论】: