php通过数组查询数据库

php可不可以通过一个数组查询数据,例如我现在在写一个数据库分页,每页显示8条数据,但是数据表里面的一些数据是我不想要的,如果我直接查询后判断删除不要的数据,那每一页就不是8条数据了,但是这些数据又不是固定的,所以我想通过一个数组判断查询的数据是否在组中,判断后再查询8条数据输出,请问怎么做到呢,或者有没有其他办法也可以满足我的条件,谢谢大家了!

把不要的数据通过sql语句过滤掉,然后分页输出。如果你全查出来,装到数组,然后判断,再输出。太麻烦,效率又不高,不建议这样做。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-11-29

如果你用的是MYSQL的话,可以用 字段名 not in (条件值1,条件值2,...) ,类似如:想要查找记录ID不是1,3,4,5,9的所有表记录数据,就可以这样写:

$sql = 'select id from table_name where id not in (1,3,4,5,9) order by id limit 0,10';

本回答被网友采纳
第2个回答  2017-09-21
2种解决办法,
1、如果你要过滤的数组数据量不大,就将数组中的值拼接成逗号组成的字符串,然后用not in去做过滤,例如 select * from 表 where name not in (“张三”,“李四”,等多个值)
2、如果过滤的数组数据量大,那就建议,将次表增加一列,用于标识是否在 过滤的数组中,这样分页的时候,直接查询这个标志位,例如 标志位字段是 use_flag, select * from 表 where use_flag=1