PHP-запрос в JSON - PullRequest
       40

PHP-запрос в JSON

2 голосов
/ 04 марта 2011

Я запрашиваю свою базу данных Select * from Customer В таблицах клиентов хранятся имя, фамилия, адрес, возраст.

Я хочу иметь возможность преобразовать запрос в объект json в следующем объекте:

Клиент:

[
    {Name:"john", Surname:"Beta" ,Age:"23"},
    {Name:"Fred", Surname:"alpha" ,Age:"31"}
];

У вас есть какие-нибудь идеи? Я пытался перебрать запрос и использовать merge_array ... но он MERGED массив, как и ожидалось ... Спасибо за ваше время.

Ответы [ 4 ]

6 голосов
/ 04 марта 2011

Вам просто нужно сгруппировать в ожидаемую вложенную структуру:

while ($row = mysql_fetch_assoc($r)) {
    $customer[] = $row;
}

$struct = array("Customer" => $customer);
print json_encode($struct);
2 голосов
/ 04 марта 2011

Если у вас есть такой код:

$sql = "SELECT id as userid, fullname, userstatus 
        FROM   sometable
        WHERE  userstatus = 1";
$result = mysql_query($sql);

кажется, что json_encode(mysql_fetch_assoc($result)); сделает работу? Положите в foreach / while для всех результатов ...

1 голос
/ 04 марта 2011

Либо используйте его самостоятельно, либо посмотрите, что делает MySQL to JSON , и реализуйте что-то вроде этого:)

0 голосов
/ 18 июня 2013

Поскольку я использую PDO для обработки вызовов базы данных, я использовал оператор foreach.

$grids = $db->run("DATABASE QUERY");

foreach ($grids as $row) {
    $grid[] = $row;
}

$struct = array("Grid" => $grid);
print json_encode($struct);

В остальном тот же код, что и выше. Спасибо Марио.

...