所以我从我的数据库中获取了一些数据并使用以下代码将它放在json数组中:
getDataFromDB:
<?php
include"connectToDB.php";
//voert de volgende query uit
$result = $db->query("SELECT * FROM youtubevideos");
$array = array();
while($row = $result->fetch_assoc()) {
$array = $row;
echo json_encode($array);
}
?>
dataToHTML.js:
$.getJSON("getDataFromDB.php", function(result){
$.each(result, function(i, field){
console.log(field);
});
});
在console.log(字段)中,它应该给我数组中的所有数据。但由于某种原因我的控制台是空的。好像它无法读取我的数组。但有趣的是......
当我在我的php文件中的这行代码exit();
之后键入echo json_encode($array);
时,它可以以某种方式读取它。但问题是它只给我一个数据库中的一行。当然我想从我的数据库中获取所有数据,因此我无法使用exit();
。他们对我做错了什么其他的建议吗?
谢谢!
答案 0 :(得分:3)
您的php文件返回多个json
字符串,因为echo
循环内的for
。
将您的代码更改为此
<?php
include"connectToDB.php";
//voert de volgende query uit
$result = $db->query("SELECT * FROM youtubevideos");
$array = array(); // you can remove this
while($row = $result->fetch_assoc()) {
$array[] = $row;
}
echo json_encode($array);
您现在将获得所有行。
答案 1 :(得分:0)
这部分代码在数据库返回的每一行上输出一个JSON数组:
while($row = $result->fetch_assoc()) {
$array = $row;
echo json_encode($array);
}
您应首先将项添加到数组,然后在循环外输出您的json编码数组。
while($row = $result->fetch_assoc()) {
$array[] = $row;
}
echo json_encode($array);
试试。