如何在jquery中编写PHP代码以从mysql数据库中检索值?

时间:2014-05-08 11:19:21

标签: php jquery mysql

我试图从数据库中获取下一个下拉列表的值,这将取决于之前的两个下拉列表。前两个下拉列表的值列在文件本身中。我希望在从第一个选择值后启用第二个下拉菜单,并且在第二个选择值后类似地启用第二个下拉菜单。请帮助。 HTML代码如下:

<form>
<select id="branch" name="branch" class="form-control" onchange="showUser(this.value)">
        <option value="">Select</option>
        <option value="1">Civil</option>
        <option value="2">Computer</option>
        <option value="3">Mechanical</option>
        <option value="4">Electronics and Telecommunications</option>
        <option value="5">Electrical and Electronics</option>
        <option value="6">Information Technology</option>
</select>
<select id="semester" name="semester" class="form-control" disabled>
      <option value="1">I</option>
      <option value="2">II</option>
      <option value="3">III</option>
      <option value="4">IV</option>
      <option value="5">V</option>
      <option value="6">VI</option>
      <option value="7">VII</option>
      <option value="8">VII</option>
</select>
</form>

jquery是:

<script>

     $(document).ready(function(){
      document.cookie = "s =hello" ;

     console.log('hello');

         $("#semester").attr("disabled", true);
         $("#branch").change(function(){
             $("#semester").attr("disabled", false); 

              $b = $('#branch').val();


              $("#semester").change(function(){
                $s = $('#semester').val();
                $("#sub_code").attr("disabled", false);
                console.log($s);

                if($s!=1||$s!=2)
                $s = $b+$s;

                <?php 

                 $s= $_COOKIE['s'];

                 $sql = "SELECT * FROM subjects WHERE sem_code=`$s`";

                ?>

             });   
         });
     });
     </script>

我没有运行查询,因为它尚未正确分配。

1 个答案:

答案 0 :(得分:1)

您不能在javascript中包含php代码,第一个在服务器端执行,第二个在客户端执行,这意味着只有在重新发送请求时才能重新执行到服务器,显然这通常是通过提交表单完成的,但有时候 - 就像你的情况一样 - 我们不想为每个请求重新加载整个页面!为此我们使用AJAX ajax将post / get请求发送到指定的php页面,该页面执行所需的服务器端任务(更新数据库中的数据,从数据库中选择一些结果,可能会处理会话等等) 尝试这样的事情:

var pathurl='/path/to/your/php/file';
var params={}; //the parameters you want to send
params['semester']=$s;
var requestData= $.ajax({
        type: 'POST',
        url: pathurl,
        cache: 'false',
        data: params,
        dataType: "json",
        beforeSend: function () {
            //here you can begin an animation or anything...
        },
        complete: function () {
            //here you can stop animations ...

        },
        success: function (response) {
            console.log(response); //check your console to verify the response
            //loop other elements inside response
            $.each(response, function (index, resultArray) {
            //do something : in your case append to dropdown a new option
            });
        }
 });
   requestData.error(function () {
   alert("error");
});

你应该使用上面代码中指定的路径创建一个php文件,在那里你可以从数据库表中提取你需要的东西,在一个数组中存储值,最后使用:

echo json_encode($resultArray);

希望这很有帮助