如何通过基于INNER JOIN结果从另一个表获取数据来更新SQL INNER JOIN的JSON?

时间:2018-08-30 07:15:08

标签: php mysql json

这是当前代码:

$get_query_one = $dbcon->query("
SELECT table_one.column_one
     ,table_two.fullname
     , table_two.column_two
FROM table_one 
INNER 
JOIN table_two 
    ON table_one.column_one = table_two.id 
 WHERE sec_id=$idd 
 order 
    by table_one.id desc
");


if($get_query_one->num_rows!=0)
{

while($row[]=$get_query_one->fetch_assoc())
{

 $tem = $row;

 $json = json_encode($tem);

 }
 echo $json;

}

 else{
echo "";
     }

所以在这里,我从两个表中提取了数据。

我想做的是:

解码行数组,并使用其中一个变量从另一张表中选择数据,然后将所有三个表中的数据重新编译为一个json数据。

更清楚:

  1. 从数组中获取列值
  2. 创建另一个sql查询,它使用WHERE从另一个表中获取数据(与数组的列相对应)
  3. 获取数据
  4. 将fetcehed数据重新编码为原始查询。
  5. 输出JSON

如果您仍然对我的要求感到困惑,

while($row[]=$get_query_one->fetch_assoc())
{

 $tem = $row;

// $ row的列显示为“水果ID,水果来源,水果日期”

//我想从上面的$ row中获取水果ID

//在获取水果ID之后,我想从另一个具有相同ID的表中获取数据

//请注意,我已经使用了INNER JOIN

//在从“水果气候”列中获取数据之后,我想将水果气候中的数据编码为原始的$ row

//在获取数据之前,它应该类似于

[{"fruit_id":"10", "fruit_source":"Brazil", "fruit_date":"10/10/2018"}, {"fruit_id":"11", "fruit_source":"India", "fruit_date":"10/12/2018"}]

///从另一个表中获取了基于fruit_id的数据后,这就是我想要新的解码JSON的样子

[{"fruit_id":"10", "fruit_source":"Brazil", "fruit_date":"10/10/2018", "fruit_climate":"climate2"}, {"fruit_id":"11", "fruit_source":"India", "fruit_date":"10/12/2018", "fruit_climate":"climate1"}]


// remaining code
$json = json_encode($tem);

  }
 echo $json;

谢谢。

0 个答案:

没有答案