2015-07-14 2 views
1

У меня есть два вывода MySQL, которые мне нужно кодировать в одном выходе JSON.Два вывода MySQL в одном коде JSON в PHP

Выход 1:

$sql = "select * from t1 ORDER BY id DESC LIMIT 25"; 
$result = $conn->query($sql); 

    while($row = $result->fetch_assoc()) { 
    $output[] = array_map("nl2br", $row); 
    } 

Выход 2:

$sql2 = "select * from t2 ORDER BY id DESC LIMIT 25"; 
$result2 = $conn->query($sql2); 

    while($row2 = $result2->fetch_assoc()) { 
    $output2[] = array_map("nl2br", $row2); 
    } 

Это то, что я делаю, чтобы получить их в одном json_encode:

echo json_encode($output.$output2); 

еще не получают оба выхода , Я узнал о других решениях, то есть объединить оба запроса, но я тоже не могу этого сделать. Я говорил this question также, но не повезло :(

+2

'json_encode (массив ($ выход, $ выход2));' –

+0

@PaulBain Спасибо за вашу помощь Но это дает результат как [[{"id": "1"}], [{"id": "2"}]], и мне нужен вывод как [{"id": "1"}, {"id": "2"}] – IAmAndroid

+0

Так что просто добавьте свой материал в первый массив. Вместо $ output2 [] = array_map ("nl2br", $ row2); do $ output [] = array_map ("nl2br", $ row2); И, наконец, сделать json_encode ($ output) – Marius

ответ

3
  1. Как об использовании UNION в запросе Пожалуйста, проверьте его здесь: https://dev.mysql.com/doc/refman/5.0/en/union.html

  2. насчет

    $ fullOutput = array_merge ($ output1, $ выход2); эхо json_encode ($ fullOutput);

+0

$ fullOutput = array_merge ($ output1, $ output2); сделал это !! Спасибо большое! – IAmAndroid

Смежные вопросы