繁体   English   中英

使用 PHP 和 MySQL 限制每个用户的预留数量

[英]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 中检查此查询的结果。 如果它大于或等于您施加的限制,则向用户显示一条消息,通知他们已达到最大未决保留并且他们需要等待。

伪代码:

  1. 如果请求新的预订

  2. 准备一个语句来检查当前用户的待定预订数量。

  3. 执行并获取结果

  4. 如果计数 >= 5

    4.1。 停止处理请求并向用户显示消息

  5. 别的

    5.1。 继续插入新的预留。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM