[英]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.