如何在mysql中选择随机表时设置异常


How to set exception when selecting random tables from mysql?

我有一个网上商店,上面显示了"推荐项目"列表,它的工作方式是从数据库中随机选择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