簡體   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