让JavaScript识别在HTML下拉菜单中选择的选项,并返回运行SQL查询的PHP函数

让JavaScript识别在HTML下拉菜单中选择的选项,并返回运行SQL查询的PHP函数,php,jquery,mysql,sql,ajax,Php,Jquery,Mysql,Sql,Ajax,更新:感谢您的快速回复。我应该澄清一下,我已经让JQuery为小部件提供了功能。但是,更好地理解在web开发中,btw HTML、Javascript和PHP之间的关系是很有帮助的 我正在尝试创建一个查询数据库并返回一些预先编写的MySQL查询的网页: 我有一些疑问,比如: function someQuery($connection) { $query = "SELECT DISTINCT Column1, Column2 FROM TABLE1, TAB

更新:感谢您的快速回复。我应该澄清一下,我已经让JQuery为小部件提供了功能。但是,更好地理解在web开发中,btw HTML、Javascript和PHP之间的关系是很有帮助的

我正在尝试创建一个查询数据库并返回一些预先编写的MySQL查询的网页:

我有一些疑问,比如:

function someQuery($connection) {

 $query = "SELECT DISTINCT Column1, Column2
                 FROM TABLE1, TABLE2
                 WHERE TABLE1.Colum1_ID = TABLE2.Colum1_ID";

        if (!($result = @ mysql_query ($query, $connection)))
           showerror();

        if (@ mysql_num_rows($result) != 0) {
           echo "\n<table border=1 width=100%>";

           echo "\n<tr>" .
                 "\n\t<th>Column1</th>" .
                 "\n\t<th>Column2</th>" .
                 "\n</tr>";

           while($row = @ mysql_fetch_array($result)) {

              echo "\n<tr>" .
                    "\n\t<td>{$row["Column1"]}</td>" .
                    "\n\t<td>{$row["Column2"]}</td>";

           }
           echo "\n</table>";
        }
函数someQuery($connection){
$query=“选择不同的列1、列2
从表1到表2
其中TABLE1.Colum1_ID=TABLE2.Colum1_ID”;
if(!($result=@mysql\u query($query,$connection)))
淋浴器();
如果(@mysql\u num\u rows($result)!=0){
回音“\n”;
回显“\n”。
“\n\t列1”。
“\n\t列2”。
“\n”;
而($row=@mysql\u fetch\u array($result)){
回显“\n”。
“\n\t{$row[“Column1”]}”。
“\n\t{$row[“Column2”]}”;
}
回音“\n”;
}
然后,我有用于显示函数的小部件:

   <li class="widget">  
       <div class="widget-top">
          <h3>Query Category</h3>
           <select>
             <option value="1">Query of Interest 1</option>
             <option value="2">Query of Interest 2</option>
             <option value="3">Query of Interest 3</option>
             <option value="4"Query of Interest 4</option>
           </select>
       </div>
       <div class="widget-content">
           <p><?

            ****Would Run Query here ****, but want to check the selections above and run query associated with selected option.

              ?></p>
       </div>
   </li>
  • 查询类别 利息查询1 利息查询2 感兴趣的问题3
    这在使用PHP时是不可能的,因为在下拉框中选择项目的操作只能在客户端捕获

    您可以使用JavaScript实现这一点(我建议使用jQuery):


    这在使用PHP时是不可能的,因为在下拉框中选择项目的操作只能在客户端捕获

    您可以使用JavaScript实现这一点(我建议使用jQuery):


    最简单的方法是使用SELECT form元素中的onChange事件。触发事件后,可以调用AJAX函数(通过执行服务器端脚本)填充DIV标记

    $('#myselect').change(function() {
        $('.widget-content').load('runquery.php?id='+this.options[this.selectedIndex].value);
    });
    
    下面的示例假定使用jQuery

    给select元素一个ID

    <select id="myselect">
        <option value="1">query 1</option>
        <option value="2">query 2</option>
        <option value="3">query 3</option>
    </select>
    

    最简单的方法是使用SELECT form元素中的onChange事件。触发事件后,可以调用AJAX函数(通过执行服务器端脚本)填充DIV标记

    $('#myselect').change(function() {
        $('.widget-content').load('runquery.php?id='+this.options[this.selectedIndex].value);
    });
    
    下面的示例假定使用jQuery

    给select元素一个ID

    <select id="myselect">
        <option value="1">query 1</option>
        <option value="2">query 2</option>
        <option value="3">query 3</option>
    </select>
    
    1) 将事件侦听器附加到select输入,以便在其值更改时运行一些JavaScript代码

    2) 该JavaScript代码向服务器上包含所选查询的URL发出AJAX请求

    3) 服务器上的PHP脚本将响应查询结果

    4) AJAX请求的成功处理程序获取结果并将其插入页面的某个位置

    您不能简单地将JavaScript附加到PHP函数,它是您需要构建的浏览器和服务器之间的来回通信。

    1)将事件侦听器附加到选择输入,以便在其值更改时运行某些JavaScript代码

    2) 该JavaScript代码向服务器上包含所选查询的URL发出AJAX请求

    3) 服务器上的PHP脚本将响应查询结果

    4) AJAX请求的成功处理程序获取结果并将其插入页面的某个位置


    您不能简单地将JavaScript附加到PHP函数,它是您需要构建的浏览器和服务器之间的来回通信。

    您需要链接两个部分:客户端和服务器端

  • 通常,您希望从一个无Ajax的解决方案开始,因为某些浏览器或用户可能禁用了JavaScript

  • 下一步是创建一个PHP页面,返回基于HTTP(GET或POST)请求的响应。要获取请求,请使用数组$\u GET和$\u POST。例如,假设您有两个变量:ID和日期,然后使用$\u POST['ID']和$\u POST['Date']捕捉它们

  • 现在要发送请求,您需要一个表单(HTML元素)。您将使用该表单放置要提交其状态的元素。例如:

  • 当表单提交时(您可能需要一个提交按钮),将用输入值填充$\u帖子。现在,您可以在PHP端获取该值并返回响应。它可以是另一个页面,也可以是纯文本(如果您计划使用AJAX)

  • Ajax只是消除了页面刷新的需要。过程实际上是相同的。使用jQuery,您可以简单地模拟浏览器来执行提交请求

    $.post('php\u page.php',data\u对象,call\u back)

  • call_-back函数将在其参数中获取响应。您捕获该响应并将其显示(或处理)给最终用户


    我真的没有给你一个代码的答案,但我想我给了你一个过程如何工作的基本概念。你可能想了解更多关于HTTP请求和jQuery Ajax函数的信息。

    你需要链接两个部分:客户端和服务器端

  • 通常,您希望从一个无Ajax的解决方案开始,因为某些浏览器或用户可能禁用了JavaScript

  • 下一步是创建一个PHP页面,返回基于HTTP(GET或POST)请求的响应。要获取请求,请使用数组$\u GET和$\u POST。例如,假设您有两个变量:ID和日期,然后使用$\u POST['ID']和$\u POST['Date']捕捉它们

  • 现在要发送请求,您需要一个表单(HTML元素)。您将使用该表单放置要提交其状态的元素。例如:

  • 当表单提交时(您可能需要一个提交按钮),将用输入值填充$\u帖子。现在,您可以在PHP端获取该值并返回响应。它可以是另一个页面,也可以是纯文本(如果您计划使用AJAX)