我是一个初学者,并且尝试生成尽可能多的我自己的代码,而不仅仅是不断地要求其他人为我编写代码,因此,对于这个问题,我正在寻找正确方向的提示,而不是直接的工作示例。你们所有人都很有才华,但如果我自己说明这一点,我会学得最好。如果我碰到一堵墙,我一定会问细节。 :-)

我想为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框架的其他风格(不在我的脑海)包括PrototypeMooToolsDojo

我希望不要太含糊,您确实说过您想朝着正确的方向前进,而不是具体的例子! :)

编辑。
我应该提到,我假设驱动这些复选框的数据来自数据库。如果不是这样,则Sabeen的方法更易于实现,并且执行开销要小得多。

关于php - 有关为mysql查询编写动态表格的提示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1684824/

10-12 12:32
查看更多