0

我的数据库中有一个存储汽车的表。然后在我的系统中,数据库中有一个汽车的下拉列表(下拉列表中的元素:Car A,Car B,Car C)。假设如果用户 A 选择 Car B,则其他用户在登录时将无法再选择 Car B。我的问题是,如何使汽车不再可供选择?有什么页面可以参考吗?选择后如何删除下拉列表中的元素?如果您不明白我的意思,请随时问我。提前致谢。

4

4 回答 4

0

我认为在数据库中您可以维护包含布尔值的 Isselected 字段。如果用户选择值为 true 的汽车更新数据库。加载下拉菜单时选择 Isselected =false 的汽车

于 2012-09-11T03:46:40.537 回答
0

我要做的是使用 ajax 来控制可用汽车的列表。当用户选择汽车时,可以“推送”信息。

流程将是这样的:

  1. 用户 A 选择“Nissan Altima”
  2. 通过 Ajax 将信息发送到服务器
  3. 服务器存储用户A和“Nissan Altima”之间的关联
  4. 服务器将信息“推送”给用户 B
  5. 用户 B 的屏幕更新,列表更新

您可以使用 Comet 完成从一个用户到另一个用户的 ajax“推送”。

于 2012-09-11T03:53:01.720 回答
0

我建议您创建另一个临时表,您可以在其中保存或CarID当用户从下拉列表中选择汽车时(您可以在选择项目时触发事件) CarCodesessionID

在此事件中,将 carID 和 SessionID 保存在临时表中

表结构

 CarTempTable
    CarID xxx
    SessionID varchar(x)
    Date   datetime

一旦您在此表中有 CarID 和 SessionID,您就可以通过如下查询查询其他用户的主表

SELECT CarID, CarName FROM Cars WHERE CarID NOT IN (SELECT CarID FROM CarTempTable WHERE SessionID <> "'+ SessionIDofUSER+'";

在上述方法中,您必须确保在会话结束时清除特定会话的临时表条目。

这种方法应该适合你

编辑:如果是汽车租赁,那么最好在您的表中添加一个额外的列,根据用户是否预订汽车来说明汽车是否可用。您可以将其与上述临时表一起使用,因为我不确定您是如何通过付款或其他方式进行预订的

于 2012-09-11T04:36:11.433 回答
0

您的数据库表应该有一个名为 IsReserved(或类似名称)的字段,然后您的下拉列表将填充查询:

SELECT * FROM Car Where IsReserved=0
于 2012-09-11T04:02:41.383 回答