Создание массива Json с несколькими параметрами в Php - PullRequest
0 голосов
/ 19 марта 2012

Мне удалось вывести столбец 'resort' в массиве Json, но мне также нужны 'country' и 'aantal'. Понятия не имею, как это сделать. Может ли кто-нибудь помочь мне?

if ($numrows < 1 && strlen($sq) > 3)
{
        $sql = "SELECT resort, country, COUNT(image) AS aantal FROM sx_cam
          LEFT JOIN sv_orte ON sv_cam.res_id = sv_orte.res_id
          WHERE sound=soundex('$sq') and (status < 1) GROUP BY resort order by aantal desc";
        $result2 = mysql_query($sql) or die(mysql_error());
        $numrows = mysql_num_rows($result2);
        $suggest = 2;
}

$items = array();

while($row = mysql_fetch_assoc($result2)){
 $items[$row['resort']] = $row['resort'];
}

foreach ($items as $key=>$value) {
 echo strtolower($key)."|$value\n";
}

1 Ответ

1 голос
/ 19 марта 2012

Вы строите массив неправильно. Как только вы получите правильный массив, это так же просто, как сделать вызов json_encode

Я не совсем уверен, как вы хотите, чтобы ваш JSON выглядел, но что-то вроде этого должно помочь вам начать

$items = array();

while($row = mysql_fetch_assoc($result2)){

    //first we build an 'object' of the current result
    $item['country'] = $row['country'];
    $item['resort'] = $row['resort'];

    //now push it on the array of results
    $items[] = $item;
}

echo json_encode($items);

Как только приведенный выше код заработает, вы можете настроить массив PHP, чтобы изменить структуру JSON в соответствии с вашими потребностями.

...