2 回答

TA貢獻1869條經驗 獲得超4個贊
要排除現有值,您可以嘗試檢查 null 來查找相應的匹配值
SELECT *
FROM order_food of
LEFT JOIN foodcancel fc ON of.food_id = fc.food_id
and of.food_id = your_value
WHERE fc.orderfood_id is null
無論如何,你不應該在你的sql代碼中使用php var,因為這樣你就有sqlinjection的風險,為了避免這種情況,你應該看看準備好的語句和綁定參數

TA貢獻1876條經驗 獲得超5個贊
這是很有可能做到的。按照我的邏輯。首先,您必須獲取 food_cancel 表上的所有 food_id。然后將其保存到 variabel 中,并在顯示 orderFood 表并添加 NOT IN 條件時使用它。
我已經為你寫了代碼
<?php
// Get Food Id From Cancel
$orderCancel = mysqli_query($mysqli, "SELECT * FROM `foodcancel`");
$cancelId = "";
while ($cancel = mysqli_fetch_array($orderCancel)) {
$cancelId .= $cancel["food_id"].",";
};
$cancelId = substr($cancelId, 0, -1);
// Put Food Id on Cancel Table into NOT IN Condition Database
$orderFood = mysqli_query($mysqli, "SELECT * FROM `orderfood` WHERE food_id NOT IN ($cancelId)");
while ($order = mysqli_fetch_assoc($orderFood)) {
$food[] = $order;
};
echo json_encode($food);
?>
- 2 回答
- 0 關注
- 146 瀏覽
添加回答
舉報