我正在尝试做的是:
我试图通过jQuery的AJAX函数将按下按钮的ID传递给我的PHP脚本。 然后,我使用该信息来运行返回两行的查询,将每行分别保存为数组$rTitle_array[]和$qTitle_array[] ,对每个json_encode $qTitle_array[] ,然后将它们发送回index.html并使用他们在我的generateProblems函数中。
可悲的是,我无法弄清楚如何将它们传递回去,然后再使用它们。
这是我的JavaScript:
$(function() {
//Take id of the button pressed and save it as userID
$("#buttons").find(".btn").click(function() {
var userID = this.id;
$.ajax({
type: "POST",
url: 'include/responseget.php',
data: {
userID: userID
},
success: function(data) {
alert("success!");
}
});
});
var phase = 0;
var rTitle = <?php echo json_encode($rTitle_array); ?>;
var rText = <?php echo json_encode($rText_array); ?>;
//Function to generate html based on query results
function generateProblems(param) {
var problemDef = param;
$("#buttons").hide();
var numbers = [1, 2, 3, 4, 5, 6, 7, 8];
for (var i = 0; i < 8; i++) {
$('
containment: '.site-wrapper',
stack: '#testpile div',
cursor: 'move',
revert: true
});
$('
}
$('#testdrop').droppable({
drop: handleDropEvent,
accept: '#testpile div'
});
//Function to restart generateProblems when draggable is dragged to specific place
function handleDropEvent(event, ui) {
var problemNumber = ui.draggable.data('number');
var problemCombination = problemDef + problemNumber;
ui.draggable.draggable('disable');
ui.draggable.draggable('option', 'revert', false);
phase++;
alert('ProblemCombination is "' + problemCombination + '", phase is "' + phase + '" ');
$("#testpile").children().hide();
generateProblems(problemCombination);
}
}
});
这是我的PHP:
if(isset($_POST['userID'])){
$id = $_POST['userID'];
$stmt = $conn->prepare("SELECT DISTINCT AnswerTitle, AnswerText FROM question_answers
INNER JOIN question
ON question_answers.QuestionID=question.QuestionID
INNER JOIN answer
ON question_answers.AnswerID=answer.AnswerID
WHERE AnswerGroup = ?;");
$stmt->bind_param('s', $id);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc())
{
$rTitle_array[] = $row['AnswerTitle'];
$rText_array[] = $row['AnswerText'];
}
echo json_encode($rTitle_array);
echo json_encode($rText_array);
}
// close connection
mysqli_close($conn);
?>
我只是不知道如何正确获取或将数组传递回我的JavaScript,因此可以将它们用于函数。