我在我的网站上有一个php聊天脚本,我做的,我想添加一个反垃圾邮件措施,这样它就不会发布你的消息,如果mysql表中的最后5条消息是由你。
我必须通过一个记录集的最后5循环,或者有一个SQL语句,可以为我检查这个吗?
表字段只有'date' 'text' 'userid'
您可以使用这样的查询来获取所讨论的人最近收到的5条消息中有多少条。
select
sum(if(userid = '$user_id',1,0)) = 5
from (
select userid from chat order by id desc limit 5
);
MySQL:
select userid, count(date) as howmany from
(
select userid, date
from YOURTABLENAME
order by date desc
limit 5
)
lastfiverows
group by userid
order by howmany
然后在PHP中检查"howmany"字段是否为5,并且userid是否与所讨论的用户匹配。
按日期(DESC)排序记录集(Order BY),并将其限制为5