php - 有关为 mysql 查询编写动态表单的提示

标签 php javascript mysql dynamic

我是一个初学者,试图生成尽可能多的自己的代码,而不是不断地要求其他人为我编写代码,所以关于这个问题,我正在寻找正确方向的提示,而不是直接的工作示例。你们都很有才华,但如果我自己推理出来,我学得最好。如果我碰壁了,我一定会询问具体细节。 :-)

我想为 MySQL 查询构建一个表单,该表单具有相当多的复选框选项,但大多数用户在一次搜索时不会同时对所有选项感兴趣。我不想呈现一个巨大的表单,而是希望通过前几个选项来控制有多少后续选项可供选择,而无需进入新页面(如果可能)。

假设示例:电影 Actor 数据库,其中包含每个 Actor 的国籍,通过选择 Actor 分类,表单查询将返回他们一起出现的所有电影。

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.

但如果用户只对德国和日本 Actor 感兴趣,他会选中这两个框,然后下面会出现以下内容:

German   Japanese 
[]GER1    []JPN1
[]GER2    []JPN2
[]GER3    []JPN3 

我说得有道理吗?

目前我的编码知识仅限于 PHP/MySQL,因此仅包含 PHP 的解决方案是理想的,但如果需要 javascript,请为我指出正确的方向,我将努力添加必要的知识!

谢谢!

编辑 - 是的,所有复选框信息都是从数据库中提取的

最佳答案

我想用javascript。

我可能会将子选择放在 TD 或 DIV 中,并使用 style="display:none"隐藏它们,并在复选框 onclick 事件上,如果选中该复选框,我会将特定的 TD 设置为可见。您还可以添加更多 JavaScript 代码,以确保隐藏 TD 或 DIV 中的复选框未被选中。并在 PHP 端再次进行一些验证。如果选中 ANY,则让您的功能显示所有 TD 或 DIV。

更多信息:

据我所知,这需要最少的 JavaScript。 PHP 也应该非常简单,因为您只需拉动所有内容并在页面上回显,并且只隐藏 DIV 以防止用户看到,除非他实际上想看到它。使用 PHP 会增加页面负载,除非您使用 AJAX,这可能有点矫枉过正。

所以你将主要处理来自 javascript 的 style 属性的 display 属性,应该很简单。

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

相关文章:

mysql - Cloud SQL 的访问随机被拒绝

php - 这是一个显示发送者和接收者消息的聊天框设计

php - Jquery Ajax 动态表单

php如何添加引用

javascript - polymer - 结束绑定(bind)事件时 dom-repeat?

javascript - 如何测试异步回调?

jboss5.x - 负载均衡 MySQL ndbcluster

mysql - 将一列与另一列中的字符串连接时如何连接 2 个表?

php - 如何在 MySQL 数据库中获取枚举可能值?

javascript - Reactjs onClick : how to set state of clicked buttons in a list