php - 如何在 php 中更改查询 onclick 组合框事件?

标签 php mysql combobox

我是 php 新手。我想在 ComboBox 上发生某些事件时更改查询。因此,根据该查询,我从 php 中的数据库检索数据。代码如下:-

 <form method="POST" action="">
                        <select id="choose-color">
                            <option value="all">All</option>
                            <option value="blue">Blue</option>
                            <option  value="black">Black</option>
                            <option value="white">White</option>
                        </select>
  </form>
 <?php
            $conn = mysqli_connect("localhost","root","123");
            mysqli_select_db($conn,"DwtCW");
            $q = "Select * from Clothes";
            $result = mysqli_query($conn, $q);
            if (!$result) {
                echo 'Some error';
            }
            while($row = mysqli_fetch_assoc($result)){
              if($row{'Image_url'} != ''){
                  echo '<div>'
                                   . '<img src='.$row{'Image_url'}.'/>'
                        .'</div>'
            }

?>

当我选择 ComboBox 的蓝色选项时,我的 $q(上面代码中给出的查询)更改为

$q = "Select * from Clothes where colour = 'blue'";

所以页面上应该只出现蓝色衣服的图像。

我如何达到这个目标?

最佳答案

您需要向 PHP 页面发送 ajax 请求。 onChange事件将触发ajax请求并更改查询。

 <form method="POST" action="">
                        <select id="choose-color">
                            <option value="all">All</option>
                            <option value="blue">Blue</option>
                            <option  value="black">Black</option>
                            <option value="white">White</option>
                        </select>
  </form>


 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script>
    $(function(){
       $('#choose-color').on('change', function(){
        var color = $(this).val();
        if(color){

        $.ajax({
          type: "GET",
          url: "index.php",  //or your php page
          data: { color: color }
        })
          .done(function( msg ) {
            alert( "Data Saved: " + msg );
        });
    }
      });
    });
     </script>
       <?php
            $conn = mysqli_connect("localhost","root","123");
            mysqli_select_db($conn,"DwtCW");

              $whr =  ' ';

//检查更改事件是否发布颜色

         if ( isset($_GET['color'] ) ) {

               $whr .= " where  colour = '".$color."' ";


              }

              $q = "Select * from Clothes $whr";

             $result = mysqli_query($conn, $q);
             if (!$result) {
                echo 'Some error';
              }

           while($row = mysqli_fetch_assoc($result)){
             if($row{'Image_url'} == ''){
                 echo '<div>'
                               . '<img src='.$row{'Image_url'}.'/>'
                    .'</div>'
           }

          ?>

关于php - 如何在 php 中更改查询 onclick 组合框事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20921711/

相关文章:

php - php/mysql 中的奇怪错误

php - mysql中存储数据时首选哪种表结构方式

java - 如何在 Spring Portlet MVC 中获取对象类型参数

wpf - MVVM WPF 组合框 : creating a template for comboboxitem

php - 如何在 PHP 中制作用户愿望 list

PHP 读取文件返回数据

MySQL选择带有特殊字符的字符串

c# - WPF 将 DataGrid 组合框所选项目绑定(bind)到所选 DataGridRow 的数据上下文

php - 发送数组时出现 "Allowed memory size of ... bytes exhausted"错误

php - 如何在MySQL中显示日期特定数据?