在大约8年的时间里,我还没有碰过PHP或AJAX,所以目前我对此的记忆力还很低。
我正在做的是从数据库中获取数据,效果很好。 然后,我想使用AJAX从PHP文件中获取数据。
我服务器上的PHP文件正在连接到数据库并获取表“ Form”。 然后将通过另一个应用程序通过AJAX检索这些数据。
我有一个正常工作的PHP文件,但是我应该如何订购AJAX以便很好地获取它。
我目前所拥有的是:
PHP文件:
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM form";
$result = $conn->query($sql);
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$name = $row['name'];
$country = $row['country'];
$email = $row['email'];
$need = $row['need'];
$available = $row['available'];
echo "name: " . $name . "<br> Country: " . $country . " <br> Email: " . $email . "<br> Need: " . $need . "<br> Available: " . $available;
$form_data = array();
array_push($form_data)
}
} else {
echo "Null results";
}
$conn->close();
?>
AJAX文件:
$.ajax({
url: 'url',
data: "",
dataType: 'json',
success: function(data) {
}
});
AJAX文件不完整,因为我仍然想知道这些PHP结果。 现在,它们只是存储在变量中。 在这里存储这些结果以获取AJAX的最佳方法是什么?
我应该将结果放入一个数组中,然后将其推入另一个数组中吗? 表单中可以有很多行,我希望有1个人的数据:姓名,国家等在一个数组中。还是把它放在一个数组中是愚蠢的?
我希望有人能提供一些线索,并在我到这里的路上帮助我。自从我开始使用PHP已有很长时间了,这里还不清楚最佳方法。
搜索了一段时间,但对我来说没有什么意义,所以我来这里是希望有人能提供指导。
复活节快乐。
答案 0 :(得分:0)
创建一个数组并保存所有数据,然后json_encode
将数据发送到JavaScript。
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "db_julekgwa";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM form";
$result = $conn->query($sql);
$rows = array();
if($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$name = $row['name'];
$country = $row['country'];
$email = $row['email'];
$need = $row['need'];
$available = $row['available'];
$rows[] = "{ name: " . $name . ", Country: " . $country . ", Email: " . $email . ", Need: " . $need . ", Available: " . $available . "}";
}
echo json_encode($rows);
} else {
echo json_encode([ "error" => "Null results"]);
}
$conn->close();
?>
在您的ajax中执行以下操作
$.ajax({
url: 'file.php',
type: "GET",
dataType: 'json',
success: function(data) {
data.forEach(item => {
console.log(item);
});
},
error: function(data) {
console.log(data);
}
});