【发布时间】:2009-12-04 07:13:27
【问题描述】:
我正在通过以下查询创建一个 json 对象
$arr = array();
$qs=qq("select main_cat_id,main_cat_name,id,name,cat_id,cat_id_main from main,scheme where main_cat_name='xyz' and cat_id_main=main_cat_id");
while($obj = mysql_fetch_object($qs))
{
$arr[] = $obj;
}
$total=sizeof($arr);
$jsn_obj='{"scheme":'.json_encode($arr).',"totalrow":"'.$total.'"}';
// this is a mock example
现在我有另一个查询
查询 2:
$q=qq("select main_cat_id,main_cat_name,id,name,cat_id,cat_id_main from main,scheme where main_cat_name='xyz' and cat_id_main=main_cat_id order by scheme_1_year DESC");
while($r=mysql_fetch_array($q))
{
$cats_id=$r['cat_id'];
if($cats_id!=0)
{
$qw=qq("select cat_name from category where cat_id='$cats_id'"); // Query 3
$rw=mysql_fetch_array($qw);
$catm_name=$rw['cat_name'];
}
}
// this is a mock example
两者都在做同样的事情,但后者也在计算一些猫的名字。这个类别表不能与前面的两个表合并,所以我必须用另一个查询来计算这个 cat_name。
现在我想要一个 json 对象,它应该包含查询 2 的所有条目和相应的查询 3 结果。 像这样的总结(如果用简单的话解释的话): 查询 2 结果[0] 加上查询 3 结果[0],查询 2 结果[1] 加上查询 3 结果[1]
如何将这两个结果组合到一个 json 对象中。请指导!!
【问题讨论】:
-
这可以通过进行 JOIN'ed SQL 查询轻松解决 - 您能给我们三个表的架构吗?
-
“查询 3 结果[1]”是什么?您在第三个查询中只选择一个字段 cat_name。