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. Python:AttributeError和网页抓取的挑战
- 3. 挑选网址之前的页面
- 4. 在一些网页上
- 5. 3n + 1 UVa挑战
- 6. apache:域1上的一些页面重定向到域2上的页面
- 7. 重定向页面的一些HTTP和一些页面到https
- 8. 的Facebook不读书在一些网页
- 9. 为什么我会看到一些网页的源代码(html)?
- 10. 一些代码在Flash 10
- 11. IE8只打印页面1的网页
- 12. 我的网页只打印到1页(没有中断)
- 13. 为什么int answer = generator.nextInt(10)+ 1;只产生1到10之间的数字?
- 14. 一些网页设计问题
- 15. WebBrowser控件不呈现一些网页
- 16. 自动填充一些网页表单?
- 17. 从网页获取一些数据
- 18. 为什么{10 +'1'} + 10等于10?
- 19. 禁用某些页面上的“history.go(-1)”
- 20. 网页脚本点击一些按钮并保存一些html页面
- 21. 重定向只有一些网页从http到https
- 22. 从网站发布一些内容到Facebook页面
- 23. 我没有生病的页面后,凑一个ASP网站10
- 24. JoshCheek的ruby-kickstart挑战1第2场
- 25. 每一个网站的入口将首先转发到一些页面
- 26. 函数不打印1到10排列
- 27. will_paginate标签'显示从1到10'
- 28. WebView未加载网页iOS 10&Swift 3
- 29. 发送DataGridView列从一个网页到另一个网页
- 30. 将动画从一个网页转移到另一个网页
是的,但它更像是“点击一个数字来试图声明它,我们会告诉你它是否工作。” - 您可以在数据库中使用锁定和表格来确定数字是否已被声明。 (作为评论发表,因为我意识到这不是一个写得好的答案,对不起。) – 2010-02-27 04:40:15