2012-01-19 46 views
2

所以我不是一个程序员,但我的朋友是。他试图帮助我开发一个网络/电话应用程序,但我们被困住了,因为我无法与他沟通一个想法,而且他无法理解。我们中的一个或两个都是白痴;)问题的一部分是我甚至不知道在哪里寻找答案,因为我不知道具体的搜索条件......相信我我已经尝试过......我也搜索了堆栈溢出。这里是问题:基于数据库查询动态禁用菜单?

简短问题: 网站(如酒店搜索)允许您通过选择特定类别的复选框(例如吸烟/不吸烟,星星,床的大小,靠近市中心等)来搜索房间。当然,这些网站引用了一个城市中的大型酒店数据库。

如何创建网站,以便在复选框(缩小搜索范围)时,其他不再可用的选项会动态地“变灰”或禁用,因此您无法检查这些框。因此,如果我要检查4星级,并根据数据库排除所有吸烟室,那么检查“吸烟”的选项将被禁用。

关键在于,当您单击框时,该网站正在查询数据库,然后根据该查询的结果(可能是多行数据(一个子集)),它正在分析该数据子集以确定复选框选项是否应该开启/关闭,然后动态地“淡化”不再可用的特定选项。一旦你只有一个可能的结果,那么该网站将弹出该酒店的网站(或其他行动)。

这是什么叫?我在哪里可以获得关于此的更多信息。任何指向正确的方向将非常感激。

非常感谢!

罗伊

这里是一个编辑以原来的问题...下面是一个例子:

Database

因此,这里是我的示例数据库。每列(即AA,AB,AC)代表复选框。 '1'=真,'0'=假,'2'=任一。因此,如果您单击复选框AA,则只有前三行符合AA = True的条件。所以查询会返回前三行。 '2'可以是真/假,因为它们不会影响结果,应该禁用这些复选框,并且只有复选框CA,CB,& CC应该保持可选状态。如果您点击复选框CB,则会输出结果ZYX。

从概念上讲,您如何从初始点击到数据库查询的位置以及结果用于动态更改菜单。人们建议使用JavaScript,但我不是在寻找一种语言。我更加期待这个概念。我在想这个查询会返回一个新的“temp”数组,只有前三行。然后查询这个“temp”数组的每一列,看它是否包含任何行中的“1”。如果确实如此,那么该按钮将变成“开”。如果没有,那么该按钮将被关闭。这是否令人困惑?我要求太多;)

回答

0

这听起来像JavaScript可以帮助。例如,使用jQuery,您可以根据您在复选框上单击的内容,动态地向数据库发送查询,然后重新加载网页的特定部分。 Javascript也可以动态禁用复选框。

+0

嘿嘿,我想我谈到的菜单选项的动态更新的一切都指向JavaScript ...我想我没有得到你如何从一个简单的查询你的数据库基于'按钮按'在概念上刷新菜单。我会在我的原始问题上发布更多信息。 – roybot

0

嗨我认为this和这one会给你一个想法。

+0

RJ,第二个链接实际上与我想要做的非常相似...但这看起来是专有的,并试图避免这种情况。我想,这当然是一个简单解决方案的问题。 – roybot