我有一个网上商店,上面显示了"推荐项目"列表,它的工作方式是从数据库中随机选择6行,类似这样。
$sql= mysqli_query ($conn, "SELECT * FROM items WHERE ORDER by RAND() LIMIT 6");
您单击类别列表中的某个项目,它将专门为该项目打开一个新窗口,其中"推荐项目"列表将立即显示在其下方。
因此,我的问题是,如何将已单击并在新窗口中打开的项目排除在推荐项目列表(显示在其下方)中?项目"当前"打开窗口的php代码为:'.$data['id'].'
我试图实现的一个完美概念是这样的:
$sql= mysqli_query ($conn, "SELECT * FROM items WHERE id NOT '.$data['id'].' ORDER by RAND() LIMIT 6");
尽管我尽量说得更清楚,但这是我能描述我的问题的最好方式。我真的希望这不是有点模糊的描述!
您可以在查询中使用不等于(!=)。
$sql= mysqli_query ($conn, "SELECT * FROM items WHERE id != '{$data['id']}' ORDER by RAND() LIMIT 6");
NOT EQUAL TO(<>
)运算符两侧的两个表达式不相等。
<>, !=
您的查询:-
SELECT * FROM items WHERE id <> '{$data['id']}' ORDER by RAND() LIMIT 6
或
SELECT * FROM items WHERE id != '{$data['id']}' ORDER by RAND() LIMIT 6