所以基本上我在文件中有2个变量$ Score和$ Name,名为get.php。我希望将它们与我从数据库中获得的结果进行比较。我无法访问它们。我试图创建一个新表单,但它没有工作。虽然如果我把它们放在
中我可以访问它们if (isset($_POST['name_php'])) {
}
在获取data-into-database.php并将表单操作更改为./php/get.php。但是,它不是在html表中回显数组项,而是在browser console中回显结果。结果必须在html表like this中。这是get.php文件。
include("getting-data-into-database.php");
$sql = "SELECT * FROM Leaderboard ORDER BY score DESC";
$result = $conn-> query($sql);
$datas = array();
$id = 0;
if ($result-> num_rows > 0) {
while ($row = $result-> fetch_assoc()) {
$datas[] = $row;
}
$sliced = array_slice($datas, 0, 10);
for ($i = 0; $i < sizeof($sliced); $i++) {
$id = $id + 1;
echo '<tr><td>' . $id . '</td>' .'<td>' . $sliced[$i]['name'] . '</td>' . '<td>' . $sliced[$i]['score'] . '</td></tr>';
}
}
?>
这是getting-data-into-database.php文件:
$conn = mysqli_connect('localhost', 'root', '', 'Leaderboard');
if (isset($_POST['name_php'])) {
$Name = mysqli_real_escape_string($conn, $_POST['name_php']);
$Score = mysqli_real_escape_string($conn, $_POST['score_php']);
$adding_data = "INSERT INTO Leaderboard (name, score)
VALUES ('$Name', '$Score')";
if ($conn->query($adding_data) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $adding_data . "<br>" . $conn->error;
}
}
?>
这是html表格:
<form id="myForm" action="php/getting-data-into-database.php" method="post">
<input type="hidden" class="info" id="namePhp_input" name="name_php">
<input type="hidden" class="info" id="scorePhp_input" name="score_php">
</form>
最后是js代码:
$("#namePhp_input2").val($("#nameInput").val());
$("#scorePhp_input2").val($(".Score").html());
pauseTimer();
$.post($("#myForm").attr('action'), $("input.info").serializeArray(), function(info) {
console.log(info);
$(".Datas").load('./php/get.php');
});
任何想法如何解决这个问题?
答案 0 :(得分:0)
至少有两种选择。
第一: 在PHP中创建表并将其发送到JavaScript文件。使用jQuery .html并将AJAX POST响应传递给$ .html的第一个参数。
第二: 由json发送数据。 json_encode和json_decode以及pare it with javascript。
您还可以使用stringify使用json将数据从JavaScript发送到PHP。
答案 1 :(得分:0)