我正在尝试根据另一个表中的结果选择一个特定条件,另一个表之间有一个键,我想让它等于一个,但无法给出结果
我正在将其用于android,因此结果将显示在android上,然后单击android上的menu_id
两个表之间的键是menu_id,主要加载选项和加载菜单索引中的menu_id
<?php
$query = "SELECT * FROM menu";
$sql = mysqli_query($conn,query);
$result = array();
while($row = mysqli_fetch_array($sql)){
array_push($result, array(
'menu_id' => $row[0],
'menu_name' =>$row[1],
'menu_img' =>$row[2] ));
}
echo json_encode($result);
mysqli_close($conn);
}
?>
**加载菜单
<?php
$query = "SELECT * FROM menulist ORDER BY food_name ASC";
$sql = mysqli_query($conn,query);
$result = array();
while($row = mysqli_fetch_array($sql)){
array_push($result, array(
'food_id' => $row[0],
'menu_id' =>$row[1],
'food_name' =>$row[2],
'food_description' =>$row[2],
'food_img' =>$row[2],));
}
echo json_encode($result);
mysqli_close($conn);
}
?>
我像:menu_id一样累了menu_id == menu_id和menu_id,但是我没有结果
答案 0 :(得分:1)
您必须使用menu_id
字段中的条件将两个表连接起来。
看一下joins和sql aliases
// assign foodname from your $_GET[‘food’] or $_POST[‘food’] parameter
$foodname = $_GET[‘food’];
$query = "SELECT ML.*
FROM menulist ML
INNER JOIN menu M
ON ML.menu_id = M.menu_id
WHERE ML.foodname = ‘$foodname’
ORDER BY ML.food_name ASC";