我想为从查询中获得的每一行添加一个值,具体取决于另一个表中是否存在一行。有没有一个聪明的方法来实现这一目标?增加值的结果从PHP将JSON编码的MySQL查询?
这是我的代码:
$sth = mysql_query("SELECT tbl_subApp2Tag.*, tbl_tag.* FROM tbl_subApp2Tag LEFT JOIN tbl_tag ON tbl_subApp2Tag.tag_id = tbl_tag.id WHERE tbl_subApp2Tag.subApp_id = '".$sub."' ORDER BY tbl_tag.name ASC");
if(!$sth) echo "Error in query: ".mysql_error();
while($r = mysql_fetch_assoc($sth)) {
$query = "SELECT * FROM tbl_userDevice2Tag WHERE tag_id='".$r['id']."' AND userDevice_id='".$user."'";
$result = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($result)) {
$r['relation'] = true;
$rows[] = $r; //Add 'relation' => true to this row
} else {
$r['relation'] = false;
$rows[] = $r; //Add 'relation' => false to this row
}
}
print json_encode($rows);
凡//添加......是,是我想插入额外的价值。有关我如何做到这一点的任何建议? 我仍然是PHP的初学者,所以如果还有其他东西我错过了,请告诉我。
编辑:第二个查询来自错误的表。这是正确的。
这可以通过sql更好地完成 – k102 2012-02-24 11:18:32