![](/img/trans.png)
[英]PHP/MySQL - Show user the number of results their query had, even if you are limiting the number displayed?
[英]Limiting number of reservations per user with PHP and MySQL
我的用户可以创建预订,但我想限制它 - 假设一个用户最多可以进行 5 个“待定”状态的预订,在管理员批准预订和待定状态更改以批准后,用户可以进行另一次预订。
当用户进行预订时,默认情况下会给出待处理状态。 我想要实现的是,如果预订表在同一 user_id 下有 5 个待定预订,则用户无法进行新预订,因此他会收到无法进行更多预订的警报。
我的问题是,我怎样才能做到这一点? 是使用 COUNT,还是应该为它创建触发器? 将不胜感激有关如何处理此问题的任何建议。
最简单的方法是在处理用户输入时执行另一个查询。 新查询将执行类似于SELECT COUNT(*) FROM reservations WHERE user_id=? AND status='pending'
SELECT COUNT(*) FROM reservations WHERE user_id=? AND status='pending'
。 然后,您可以在 PHP 中检查此查询的结果。 如果它大于或等于您施加的限制,则向用户显示一条消息,通知他们已达到最大未决保留并且他们需要等待。
伪代码:
如果请求新的预订
准备一个语句来检查当前用户的待定预订数量。
执行并获取结果
如果计数 >= 5
4.1。 停止处理请求并向用户显示消息
别的
5.1。 继续插入新的预留。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.