如何从jquery传递给PHP查询请求的VAR

时间:2014-08-11 16:39:29

标签: php jquery mysql

<script src="http://code.jquery.com/jquery-1.5.min.js"></script>
<script>
$(document).ready(function() {
    var $article = null;

    $('#category').change(function() {
        var $categoryName = $('#category').val();

        if ($article == null) {
            $article = $('<h4>Select a business you wish to view.</h4><select id="business" name="business"   class="business"><option value="0">Select A Business To View Listing</option></select>').appendTo('.query');
        }
        $("#business").load("php.php");
    });
});
</script>

这是我目前正在做的,我正在加载php.php脚本,而不是我想将$ categoryName的值传递给查询中的WHERE子句,所以它是这样的:

<?php
    $con = mysqli_connect(,,,,);
    // Check connection
    if (mysqli_connect_errno())
       {
       echo "<option>Failed to connect to MySQLi</option>" ;
       }
    $result = mysqli_query($con,"SELECT Bname, Category FROM Business WHERE Category='$categoryName'");
     while($row = mysqli_fetch_array($result)) {
      echo "<option value='".$row['Bname']."'>".$row['Bname']."</option>";
      }
      // Free result set
     mysqli_free_result($result);
     mysqli_close($con);
?>

这应该是这样的方式,第一个选择框由我的服务器上的php填充,显示一个类别列表。用户从该框和onchange中选择一个类别,创建第二个选择框,添加到表单中,并将查询,以填充我的数据库中列出的共享类别的所有商业名称(即所选的索引)从第一个方框开始)你能帮助我改变这个工作方式吗?

更新:这是更新的代码,现在第二个选择框永远不会加载。

 <script src="http://code.jquery.com/jquery-1.5.min.js"></script>
 <script>
 $(document).ready(function () {
 var $article = null;

 $('#category').change(function () {
 var categoryName = $('#category').val();

 if ($article == null) {
 $article = $('<h4>Select a business you wish to view.</h4><select id="business" name="business" class="business"><option value="0">Select A Business To View Listing</option></select>').appendTo  ('.query');

  $("#business").load( "php.php",
     data:{myVar:$categoryName}
  );
  }
 });
 });
</script>

继承人php.php

 <?php
    $con = mysqli_connect(,,,,);
    // Check connection
    if (mysqli_connect_errno())
       {
       echo "<option>Failed to connect to MySQLi</option>" ;
       }
    $myVar = $_GET["myVar"];
    $result = mysqli_query($con,"SELECT Bname, Category FROM Business WHERE Category='$myVar'");
     while($row = mysqli_fetch_array($result)) {
      echo "<option value='".$row['Bname']."'>".$row['Bname']."</option>";
      }
      // Free result set
     mysqli_free_result($result);
     mysqli_close($con);
 ?>

1 个答案:

答案 0 :(得分:0)

如下所示,您可以使用一个参数data制作myVar个对象 JS:

$('#category').change(function() {
    var $categoryName = $('#category').val();

    if ($article == null) {
        $article = $('<h4>Select a business you wish to view.</h4><select id="business" name="business"   class="business"><option value="0">Select A Business To View Listing</option></select>').appendTo('.query');
    }
    $("#business").load("php.php",
         data:{myVar:$categoryName}
    );
});

然后像这样在PHP中获取变量 PHP:

$con = mysqli_connect(,,,,);
$myVar = $_GET["myVar"];
// Check connection
if (mysqli_connect_errno())
   {
   echo "<option>Failed to connect to MySQLi</option>" ;
   }