PHP передать JSON Angularjs

0

это мой 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]? Как это исправить? СПАСИБО

  • 0
    change $foodList[] = array(); в $ foodList = array ();
  • 0
    вывод становится массивом [0]
Показать ещё 3 комментария

2 ответа

0

Ваш счетчик переменной $ 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);

?>

  • 0
    Спасибо! его решено
  • 0
    Добро пожаловать
0

В некоторых местах ваш синтаксис 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);

Это должно работать, если вы правильно выбираете строки.

  • 0
    Спасибо! решено

Ещё вопросы

Сообщество Overcoder
Наверх
Меню