0
A
回答
2
我不知道如何做到這一點的技術,你的標籤,但你需要一個數據庫,即保留每個號碼的狀態:採取或免費。您將有一個頁面上的表單,將提交選擇一個表單處理程序,將檢查數據庫中的數的狀態數。如果被採用,您會向用戶發送一個網頁,上面寫着「採取太壞這就是」什麼的,如果它是免費的,你將其標記爲拍攝,然後再發送一個網頁說,他們得到了它。
您的服務器可能會按照先到先得的原則處理請求,如果您使用任何現代數據庫,它會阻止您(您只是不想讓兩個人同時嘗試獲取相同的號碼)
也,表格,表單處理程序不必是不同的文件
,你可能想記錄誰拿了什麼號碼,所以沒有上當受騙的狀態可能是好是沒有的狀態數字的用戶名。
1
這個問題被標記的SQL服務器,所以我將提供一個SQL Server的答案...
如果您有相關的註冊用戶ID和數量的表格,對這些兩列的唯一約束,然後,如果插入記錄成功記錄被該用戶聲明,否則它不可用。
CREATE TABLE dbo.UserSelection
(
user_id int not null,
selection int not null,
CONSTRAINT UK_UserSelection__user_id__selection UNIQUE (user_id, selection)
)
有很多方法來告訴我們,如果插入失敗。一種方法是檢查是否有錯誤。執行一些類似於你的應用程序的SQL:
SqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "INSERT INTO dbo.UserSelection(user_id, selection) VALUES (@id, @selection); SELECT @@ERROR;";
cmd.Parameters.AddWithValue("@id", userId);
cmd.Parameters.AddWithValue("@selection", selection);
bool youHaveThatSelection = 0 == (int)cmd.ExecuteScalar();
相關問題
- 1. 挑一些神交
- 2. 一些301重定向挑戰 - 引號到主頁
- 3. 網頁上每1/10秒的隨機詞
- 4. 挑選網址之前的頁面
- 5. Python:AttributeError和網頁抓取的挑戰
- 6. 在一些網頁上
- 7. 在一些網頁上
- 8. 顯示一個網站的某些內容到網頁視圖
- 9. 梨網站搬到新的主機,一些網頁不工作
- 10. 3n + 1 UVa挑戰
- 11. 網頁重定向到一些預先定義的網頁中的錯誤
- 12. 如何挑選一個遠程網頁的標題
- 13. apache:域1上的一些頁面重定向到域2上的頁面
- 14. 重定向頁面的一些HTTP和一些頁面到https
- 15. 的Facebook不讀書在一些網頁
- 16. 一些代碼在Flash 10
- 17. 爲什麼我會看到一些網頁的源代碼(html)?
- 18. 將網頁的某些部分導出到另一個文件
- 19. 得到一個錯誤的路由從某些網頁
- 20. 遞增挑戰:++對+1
- 21. 從某些網頁
- 22. IE8只打印頁面1的網頁
- 23. 爲什麼int answer = generator.nextInt(10)+ 1;只產生1到10之間的數字?
- 24. 我的網頁只打印到1頁(沒有中斷)
- 25. 爲什麼{10 +'1'} + 10等於10?
- 26. 函數返回一些網頁
- 27. 網頁設計 - 需要一些建議
- 28. 一些網頁設計問題
- 29. 從網頁獲取一些數據
- 30. 自動填充一些網頁表單?
是的,但它更像是「點擊一個數字來試圖聲明它,我們會告訴你它是否工作。」 - 您可以在數據庫中使用鎖定和表格來確定數字是否已被聲明。 (作爲評論發表,因爲我意識到這不是一個寫得好的答案,對不起。) – 2010-02-27 04:40:15