2017-05-09 69 views
0

目前我正在从单一的表中获取单个行并返回一个被JS处理:PHP返回1点的数据从2 MySQL的查询集合

$sql = "SELECT * FROM labs WHERE lab_id = $lab_id"; 
$result = $db->sql_query($sql); 
$row = $db->sql_fetchrow($result); 
// send the data encoded as JSON 
echo json_encode($row); 

但现在我需要从另一个添加一些数据表。 “实验室”表有一个“lab_model_id”列,它是一个int。我需要使用该“lab_model_id”从“lab_models”中获取“lab_model_name”。

1)如何在我的php中拉出“lab_model_id”来执行第二个查询?

2)我可以在返回之前将第二个结果添加到第一个结果中吗?

+1

使用'join',还参数查询。 – chris85

+1

'INNER/LEFT JOIN'这两张表。 – Daan

+1

可能重复的[如何连接两个表mysql?](http://stackoverflow.com/questions/3536283/how-to-join-two-tables-mysql) – chris85

回答

0

尝试使用JOIN ..

$sql = "SELECT labs.*,`lab_models`.`lab_model_name` 
     FROM labs 
     LEFT JOIN lab_models 
     ON lab_models.lab_model_id = labs.lab_model_id 
     WHERE lab_id = $lab_id"; 
$result = $db->sql_query($sql); 
$row = $db->sql_fetchrow($result); 
// send the data encoded as JSON 
echo json_encode($row); 
+0

可能想要将表名添加到'where '以避免可能含糊的列名称。 – chris85

+0

这个伎俩!谢谢 – jeffreyb