Как мне повторить массив с JSON? - PullRequest
1 голос
/ 30 августа 2011

Мой код, похоже, не возвращает JSON для $_GET['fruitVariety'], есть идеи, почему? Моя БД правильно настроена.

Это похоже на то, что json_encode может отображать только 1 массив.

$rows = array();

if(isset($_GET['fruitName'])) {
    $stmt = $pdo->prepare("SELECT DISTINCT variety FROM fruit WHERE name = ? ORDER BY variety");
    $stmt->execute(array($_GET['fruitName']));
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}

if(isset($_GET['fruitVariety'] )) {
    $stmt = $pdo->prepare("SELECT DISTINCT fruittype FROM fruit WHERE name = ? ORDER BY fruittype");
    $stmt->execute(array($_GET['fruitVariety']));
    $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
}

echo json_encode($rows);

1 Ответ

5 голосов
/ 30 августа 2011

Вы переопределяете значение, которое вы указали в $rows после первого запроса. Вы должны сделать:

 $rows[] = $stmt->fetchAll(PDO::FETCH_ASSOC);

Скобки ([]) очень важны! Вы можете найти больше информации о правильном синтаксисе в документации PHP .

И на самом деле, я думаю, что у вас есть значения только для fruitVariety, а не для fruitName;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...