Php mysqli 如果重复则删除完整的行
Php mysqli remove complete row if duplicate
我以前从未遇到过查询问题,但我就是无法让它工作。我有 2 个表,一个叫 items_sale,另一个叫 item_list。我的表单有一个下拉菜单,可以从 item_list.
中获取所有项目
我需要做的是阻止下拉列表中已经在 items_sale 列表中的任何项目 + user_id = 当前用户的 ID。
例如,我有商品 2 和 5 待售,这意味着商品 2 和 5 不应显示在下拉菜单中。
我环顾四周,找到了添加 DISTINCT 和 UNION 等解决方案,但我似乎无法删除整行。例如 DISTINCT 只是删除了 1 个值并保留了另一个值。
items_sale:
item_list:
我要做的第一件事是将用户出售的所有商品放入数组中,然后从不在数组中的商品 table 中提取所有商品。
<?php
$conn = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
$currentUser = '1234';
$items = $conn->query("SELECT * FROM item_list WHERE item_ID NOT IN (SELECT item_id FROM items_sale WHERE user_id = '$currentUser')");
编辑:更改为子查询而不是两个单独的查询
我以前从未遇到过查询问题,但我就是无法让它工作。我有 2 个表,一个叫 items_sale,另一个叫 item_list。我的表单有一个下拉菜单,可以从 item_list.
中获取所有项目我需要做的是阻止下拉列表中已经在 items_sale 列表中的任何项目 + user_id = 当前用户的 ID。
例如,我有商品 2 和 5 待售,这意味着商品 2 和 5 不应显示在下拉菜单中。
我环顾四周,找到了添加 DISTINCT 和 UNION 等解决方案,但我似乎无法删除整行。例如 DISTINCT 只是删除了 1 个值并保留了另一个值。
items_sale:
我要做的第一件事是将用户出售的所有商品放入数组中,然后从不在数组中的商品 table 中提取所有商品。
<?php
$conn = new mysqli('localhost', 'my_user', 'my_password', 'my_db');
$currentUser = '1234';
$items = $conn->query("SELECT * FROM item_list WHERE item_ID NOT IN (SELECT item_id FROM items_sale WHERE user_id = '$currentUser')");
编辑:更改为子查询而不是两个单独的查询