Php 从两个表中获取数据,并将它们组合成一个JSON输出
我有3个来自mysql数据库的表,我需要将它们组合起来以获得一个JSON输出 使用第一个表很容易获得JSON输出,因此我写:Php 从两个表中获取数据,并将它们组合成一个JSON输出,php,mysql,json,pdo,combinations,Php,Mysql,Json,Pdo,Combinations,我有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',
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
SELECT datum,stavka,prinos,jmere,skladiste,id_parcele FROM track_berba WHERE user_id=:user_id
从track_berba我必须得到:
SELECT datum,vrsta,stavka,kolicina,jmere,skladiste,id_parcele FROM track_djub WHERE user_id=:user_id and
SELECT datum,stavka,prinos,jmere,skladiste,id_parcele FROM track_berba WHERE user_id=:user_id
在所有这些之后,我需要在基准日期前订购
请告诉我如何将这3个表组合成一个按数据排序的JSON输出
我怎么能做到
更新:我尝试做什么:但没有得到任何数据:
在查询中使用联接是否无法获取数据?这可能是一个很好的起点:使用联接会是什么样子?我将尝试从所有3个表中获取结果生成数组,然后将1+2+3添加到一个数组中,并从中生成JSON。。但接下来的问题是如何通过数据对这些数据进行排序?在执行之后不需要fetch语句吗??ie:fetch PDO::fetch_OBJ等