台灣最大程式設計社群網站
線上人數
614
 
會員總數:245215
討論主題:189089
歡迎您免費加入會員
討論區列表 >> PHP >> 一秒可能有2個以上的人
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
一秒可能有2個以上的人
價值 : 30 QP  點閱數:501 回應數:4

樓主

惟欸
門外漢
0 20
188 30
發送站內信

捐贈 VP 給 惟欸
小弟想知道
(同一秒可能有2個以上的人員報名)的問題
每一個報名的人給一個id當key,並且使用auto_increment
小弟想要
先在報名表格頁面顯示已報名人數和剩餘人數這一行文字


新增報名資料前再檢查


看了許多論壇裡的文章
不知是不是可行 或是要用鎖表、update筆數
亦或是在加什麼判斷式呢?(或方法呢?)
望好手賜教
謝謝


搜尋相關Tags的文章: [ 一秒可能有2個以上的人 ] ,
本篇文章發表於2016-02-29 21:11
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
不錯的參考

彩虹
檢舉此回應
是不是可行,就多多嘗試吧~
但如果報名系統不是很大的話
通常做到兩個部份而已,目前還沒有超出過人數限制
1.要進入報名頁面表單時,先檢查人數滿了沒,如果滿了,就不要讓使用者可以進入填寫
2.當使用者填寫完畢之後,準備塞入資料,再檢查一次是不是滿了,滿了的話就跳出視窗提醒「已額滿」
以上是我的做法


另外我要提醒你一下,我確定你目前的判斷式一定會超出你所設定的人數限制20

本篇文章回覆於2016-03-01 10:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
不錯的參考

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
這媥鷛|教育一下。
其實在其它文章內,有些有判斷人數的我大多會說明。

因為一個專案堙A在開發期間一定大多只有你一個人做測試。
所以在計算人數上。一定不會有問題。

可是當正式上線的情況下。就有機會同時間有2人以上的機會發生。
要防止這樣的情況。就得用如下的手法。

1.鎖表式:
這樣的方式是,當要新增一份資料之前,先行鎖表。這樣下一個人就會等待解表。
這樣的方式,是需要保証資料的寫入能在1秒內處理完成。否則很可能當人一多時。
產生錯誤(等待時間過久)。
且如果是有需要填表的情況下。也有可能會發生進入填表時數量夠。但填完表就不能處理的情況。

2.額外記錄式
一般來說這種是將數量另外寫到一個表上。在做一些特殊控制時很好用。
這招其實我有用到購物商城的限量購買。因為要下訂單後就得將數量儲存起來。
一定時間再將沒結帳的量返回。
本篇文章回覆於2016-03-01 13:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

惟欸
捐贈 VP 給 惟欸 檢舉此回應
因為小弟只是在做小小的報名系統
不是很大
所以才會想說 看是不是用簡單的MySQL的語法來做控制(如彩虹大哥講的)

如果要用到版主說的第二種

將數量額外開一個資料表
報名成功後 從數量資料表減1來做
是否像小弟想的這樣呢?
本篇文章回覆於2016-03-01 19:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
要「簡單」就是鎖表了喔!!
那是最簡單的。

正常數量表我只會用加1。用減的難免會有突發狀況。
如假設報表到一半想要增加人數。
你不就得要將數量加上去了?

但用加的就比較不用管這問題。
本篇文章回覆於2016-03-02 09:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.