php - onclick -> mysql 查询 -> javascript;同一页

标签 php javascript

我需要按钮来开始 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 充其量是痛苦的。

以下是您想要构建代码的方式:

  1. 加载页面。
  2. 用户选择一个选项。
  3. onChange 监听器触发 AJAX 请求
  4. 服务器接收并处理请求
  5. 服务器发回依赖选择的 JSON 选项数组
  6. 客户端 AJAX 发送方收到响应
  7. 客户端更新选择以获取 JSON 数组中的值。

基本上,HTTP 是无状态的,因此一旦页面加载,就完成了。您必须向服务器发出连续的动态数据请求。

关于php - onclick -> mysql 查询 -> javascript;同一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12304900/

相关文章:

php - 在 Yii 1.x 中以 CHtml 形式输入阿拉伯语并返回未知字符

javascript - Node.js 编译型语言与解释型语言的定义

php - 我应该取消设置我的 PHP 数组值吗?

php - 奇怪的准备语句错误

php - 在 Laravel/Lumen 中,为什么 catch block 没有捕获我的异常?

php - Session 在用户认证/登录中的作用?

javascript - ScrollFire 插件似乎无法正常工作

javascript - ng-repeat 循环中的 ng-change 增量和减量值

javascript - 谷歌云功能不处理信号

javascript - rails : jquery autocomplete in a search form