ID等于时从第二个mysql表加载参数

时间:2014-01-01 19:44:06

标签: mysql sql

我有mysql代码从MENU表中获取所有菜单(正常工作):

$sql = "SELECT id, category_id, menu_name, image_id 
        from menu 
        where restaurant_id = '" . (int) $_SESSION['uid'] . "' && status='1'";

但我也需要第二张表中的数据。从ICON(表)中ID值与我的第一个表IMAGE_ID值相同,可以访问列file_url。 所以我需要加入这个表格。

像那样:

      $sql = "SELECT m.id, m.category_id, m.menu_name, m.image_id 
            FROM menu m 
            INNER JOIN icon i
            ON i.id = m.image_id
            WHERE m.restaurant_id = '" . (int) $_SESSION['uid'] . "' 
            AND  m.status='1'";

所有工作但我仍然无法从第二张桌子中获得价值...

5 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

试试这个

SELECT m.id, m.category_id, m.menu_name, m.image_id , i.file_url
FROM menu m 
INNER JOIN icon i
ON i.id = m.image_id
WHERE m.restaurant_id = '" . (int) $_SESSION['uid'] . "' 
AND  m.status='1'

答案 2 :(得分:0)

循环结果并创建新的mysql查询,从您需要的表中选择一些内容:

$sql2 = "SELECT (something) FROM (table) WHERE id = ".$row['id'];

答案 3 :(得分:0)

试试这个

SELECT id, category_id, menu_name, image_id ,s.file_url
from menu  m
join second_table s on (s.id=m.image_id)
where m.restaurant_id = '" . (int) $_SESSION['uid'] . "' && status='1'";

答案 4 :(得分:0)

试试这个

$sql = "SELECT m.id, m.category_id, m.menu_name, m.image_id from menu m inner join icontable ic
    on ic.imgid = m.id
    where m.restaurant_id = '" . (int) $_SESSION['uid'] . "' && m.status='1'";