это мой php-код,
$count=mysql_num_rows($query);
if ($count > 0) {
// output data of each row
$foodList[] = array();
while($row =mysqli_fetch_assoc($result))
{
$foodList[] = $row;
}
} else {}
echo json_encode($foodList);
это мой код js:
var $promise = $http.post('foodList.php');
$promise.then(function(msg){
var foodList = msg.data;
if (foodList)
{
//$scope.foodList = foodList;
alert(foodList);
}
else
{
//$scope.msg = "Error user name or password";
}
это выводится:
$promise.then(function(msg){*msg = Object {data: Array[1], status: 200, config: Object, statusText: "OK"}* var foodList = msg.data;*foodList = [Array[0]]*
Итак: на самом деле 3 данных в моей базе данных, но на выходе только Array [1]? Как это исправить? СПАСИБО
Ваш счетчик переменной $ query, поэтому в вашем цикле while используется переменная $ query
<?php
$count=mysql_num_rows($query);
if ($count > 0) {
// output data of each row
$foodList = array();
while($row =mysqli_fetch_assoc($query))
{
$foodList[] = $row;
}
}
echo json_encode($foodList);
?>
В некоторых местах ваш синтаксис php и использование команд являются неправильными. Вот скорректированный код. Пожалуйста, сравните и увидите разницу.
$count=mysql_num_rows($result);
if ($count > 0) {
// output data of each row
$foodList = array();
while($row =mysqli_fetch_assoc($result))
{
array_push($foodList, $row);
}
}
echo json_encode($foodList);
Это должно работать, если вы правильно выбираете строки.
$foodList[] = array();
в $ foodList = array ();