我需要按钮来开始 mysql 查询,然后将结果插入到 javacript 代码块中,该代码块将显示在按钮所在的同一页面上。 mysql 查询来自下拉菜单的值。
Homepage.php 包含
two drop down menus
div id='one' to hold the results javscript code block
a button to stimulate the mysql query to be displayed in div id ='one' through Javascript
flow of the process is as such
1. user chooses an option from each drop down
2. when ready, the user clicks a button
3. the onclick runs a mysql query with selections from the drop down menu.
4. send the results as array from the mysql query into the javascript code block
5. display the results in div id ='one'
所有这些都需要发生在同一页面上!
我遇到的问题是,一旦加载页面,javascipt 就是静态的。我无法将 mysql 结果推送到我需要它出现的页面上的 javascript 中。将所有内容都放在同一页面上会造成麻烦。
我并不是在寻找为我设计的确切代码,而是在寻找用于完成此操作的正确流程流程。先感谢您!
我已经尝试过
使用两个下拉菜单来调用使用 httprequest 的相同 JavaScript 函数。该函数针对执行 mysql 处理的 php 页面。然后将结果通过httprequest返回到主页。
我尝试将整个Javascript代码块保存为php变量,其中已经有mysql结果,然后通过HTTPRequest将该变量返回到主页,认为我可以通过这种方式创建动态javascript代码。没有任何效果
最佳答案
您需要使用一种称为 AJAX 的技术。我推荐jQuery's .ajax()
方法。尝试做原始 XHR 充其量是痛苦的。
以下是您想要构建代码的方式:
- 加载页面。
- 用户选择一个选项。
- onChange 监听器触发 AJAX 请求
- 服务器接收并处理请求
- 服务器发回依赖选择的 JSON 选项数组
- 客户端 AJAX 发送方收到响应
- 客户端更新选择以获取 JSON 数组中的值。
基本上,HTTP 是无状态的,因此一旦页面加载,就完成了。您必须向服务器发出连续的动态数据请求。
关于php - onclick -> mysql 查询 -> javascript;同一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12304900/