Получить данные из двух таблиц и объединить их в один вывод JSON

У меня есть 3 таблицы из базы данных MySQL, и мне нужно объединить их, чтобы получить один вывод JSON …

С первой таблицей легко получить вывод JSON, поэтому я пишу:

 try {

$result = $db->prepare('SELECT datum,vrsta_prodaje,artikl,bruto_kol,jmere,skladiste FROM prodaja WHERE user_id=:user_id');
$result->bindParam(':user_id', $user_id);
$result->execute();foreach($result as $r) {
$temp = array();
$temp['datum'] = (string) $r['datum'];
$temp['vrsta'] = (string) $r['vrsta_prodaje'];
$temp['artikl'] = (string) $r['artikl'];
$temp['6'] = (int) $r['bruto_kol'].' '.$r['jmere'];
$temp['jmere'] = (string) $r['jmere'];
$temp['skladiste'] = (string) $r['skladiste'];
//here I will add empty json becouse on second table I have one more column data
$temp['id_parcele'] = (string) '';
$rows[] = $temp;
}
$table['data'] = $rows;
$jsonTable = json_encode($table);

} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
echo $jsonTable;

но мне нужно объединить еще две таблицы track_djub а также track_berba Вот

из track_djub я должен получить:

SELECT datum,vrsta,stavka,kolicina,jmere,skladiste,id_parcele FROM track_djub WHERE user_id=:user_id and

из track_berba я должен получить:

SELECT datum,stavka,prinos,jmere,skladiste,id_parcele FROM track_berba WHERE user_id=:user_id

после всего этого мне нужно заказать datum (Дата)

Пожалуйста, дайте мне несколько идей, как я могу объединить эти 3 таблицы в один вывод JSON, упорядоченный DATUM

Как я могу это сделать?

ОБНОВЛЕНИЕ: ЧТО Я ПЫТАЮСЬ СДЕЛАТЬ, НО НЕ ПОЛУЧИТЬ ДАННЫЕ:

try {

$result = $db->prepare('SELECT datum,vrsta_prodaje,artikl,bruto_kol,jmere,skladiste FROM prodaja WHERE user_id=:user_id');
$result->bindParam(':user_id', $user_id);
$result->execute();foreach($result as $r) {
$temp = array();
$temp['datum'] = (string) $r['datum'];
$temp['vrsta'] = (string) $r['vrsta_prodaje'];
$temp['artikl'] = (string) $r['artikl'];
$temp['6'] = (int) $r['bruto_kol'].' '.$r['jmere'];
$temp['jmere'] = (string) $r['jmere'];
$temp['skladiste'] = (string) $r['skladiste'];
$temp['id_parcele'] = '';
$rows[] = $temp;
}

$result1 = $db->prepare('SELECT datum,vrsta,stavka,kolicina,jmere,id_parcele FROM track_djub WHERE user_id=:user_id');
$result1->bindParam(':user_id', $user_id);
$result1->execute();

foreach($result1 as $a) {
$temp1 = array();
$temp1['datum'] = (string) $a['datum'];
$temp1['vrsta'] = (string) $a['vrsta'];
$temp1['artikl'] = (string) $a['stavka'];
$temp1['6'] = (int) $a['kolicina'].' '.$a['jmere'];
$temp1['jmere'] = (string) $a['jmere'];
$temp1['skladiste'] = (string) '';
$temp1['id_parcele'] = (int) $a['id_parcele'];

$rows1[] = $temp1;
}

$result2 = $db->prepare('SELECT datum,kultura,prinos,jmere,id_parcele FROM track_berba WHERE user_id=:user_id');
$result2->bindParam(':user_id', $user_id);
$result2->execute();

foreach($result2 as $b) {
$temp2 = array();
$temp2['datum'] = (string) $b['datum'];
$temp2['vrsta'] = (string) 'Kultura';
$temp2['artikl'] = (string) $b['kultura'];
$temp2['6'] = (int) $b['prinos'].' '.$b['jmere'];
$temp2['jmere'] = (string) $b['jmere'];
$temp2['skladiste'] = (string) '';
$temp2['id_parcele'] = (int) $b['id_parcele'];

$rows2[] = $temp2;
}$table['data'] = $rows.$rows1.$rows2;

} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
echo $jsonTable;

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector