我是一个初学者,并且尝试生成尽可能多的我自己的代码,而不仅仅是不断地要求其他人为我编写代码,因此,对于这个问题,我正在寻找正确方向的提示,而不是直接的工作示例。你们所有人都很有才华,但如果我自己说明这一点,我会学得最好。如果我碰到一堵墙,我一定会问细节。 :-)
我想为MySQL查询建立一个表单,该表单具有很多复选框选项,并不是大多数用户一次搜索一次就会感兴趣的所有选项。我不想使用大量的表格,而是希望使用前几个选项来控制有多少个后续选项可供选择,而无需进入新页面(如果可能)。
假设的示例:电影演员数据库,其中包括每个演员的国籍,并且通过选择演员的种类,表格查询将返回他们一起出现的所有电影。
ACTOR NATIONALITY
[] Any
[] German
[] Russian
[] British
[] American
[] Japanese
[] Chinese
首先,不显示更多信息。如果用户选中
[] Any
,则会显示完整表格:German Russian British American Japanese Chinese
[]GER1 []RUS1 []BRIT1 []AMER1 []JPN1 []CHN1
[]GER2 []RUS2 []BRIT2 []AMER2 []JPN2 []CHN2
[]GER3 []RUS3 []BRIT3 []AMER3 []JPN3 []CHN3
etc.
但是如果用户仅对德国和日本演员感兴趣,他会选中这两个框,然后在下面显示以下内容:
German Japanese
[]GER1 []JPN1
[]GER2 []JPN2
[]GER3 []JPN3
我有道理吗?
目前,我的编码知识仅限于PHP / MySQL,因此仅包含PHP的解决方案将是理想选择,但是如果需要javascript,请向正确的方向指出,我将努力添加必要的知识!
谢谢!
编辑-是的,所有复选框信息都从数据库中提取
最佳答案
我同意塞宾的观点。 javascript是一种解决方法,但是我会使用ajax方法,而不是隐藏其他表单元素...
您可以使用js来“侦听”第一个复选框组发生的事件(即onclick,onmouseover等),并且在进行更改后,可以使用ajax方法将表单数据发送到小型php脚本。然后,该脚本找出构建哪个子菜单,并将相关的html片段返回给调用的php脚本。 Js采取此响应并操纵DOM将新的复选框组添加到页面,而无需重新加载整个页面。
如果您不熟悉js / ajax,那么我可以推荐jQuery。 js框架的其他风格(不在我的脑海)包括Prototype,MooTools,Dojo。
我希望不要太含糊,您确实说过您想朝着正确的方向前进,而不是具体的例子! :)
编辑。
我应该提到,我假设驱动这些复选框的数据来自数据库。如果不是这样,则Sabeen的方法更易于实现,并且执行开销要小得多。
关于php - 有关为mysql查询编写动态表格的提示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1684824/