php - 从mysql中选择随机表时如何设置异常?

标签 php mysql database

我有一个在线商店,显示“推荐商品”列表,其工作方式是从数据库中随机选择 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");

关于php - 从mysql中选择随机表时如何设置异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33841273/

相关文章:

php - (php)导入.sql并添加列(如果表存在)或创建新表

database - 如何更新 Access MDB 文件 - InstallShield?

php - 组合两个表以按成本减去费用进行排序 - 需要复杂的 order by 语句吗?

php - 更新重复键时出错

mysql - 使用无符号整数的算术元素(加法)进行 SQL 范围分区 - 它会优化 WHERE 查询吗? (MySQL、PostgreSQL)

php - 使用旧字段值进行数据验证

php - 数据从 MYSQL 数据库直接到输入字段,具体取决于第一个输入字段中写入的内容

php - 使用ajax和json处理多个数据库行

php - 如何更改 Composer 创建供应商文件夹的位置

javascript - node Sequelize如何写静态函数