Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从jquery中获取一个传递给php查询请求的变量_Php_Jquery_Mysql - Fatal编程技术网

如何从jquery中获取一个传递给php查询请求的变量

如何从jquery中获取一个传递给php查询请求的变量,php,jquery,mysql,Php,Jquery,Mysql,这就是我目前正在做的,我正在加载php.php脚本,而不是我想将$categoryName的值传递给查询中的WHERE子句,如下所示: <script src="http://code.jquery.com/jquery-1.5.min.js"></script> <script> $(document).ready(function() { var $article = null; $('#category').change(functio

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

<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填充,显示类别列表。用户从该框中选择一个类别,一旦更改,将创建第二个选择框,将其添加到表单中,并将进行查询,以填充我的数据库中列出的所有共享类别的企业名称。e第一个框中的selectedindex您能帮我更改它以满足我的需要吗

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

<?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.php

 <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>

如下所示,您可以使用一个参数myVar创建一个数据对象 JS:

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


建议您从jQuery的load文档开始,在那里您可以指定$categoryName作为load接受的数据对象的一部分,然后您可以在PHPI中获取变量。我对jQuery和php非常陌生,您能给我一个示例说明您的意思吗?我试过这样做,但是现在第二个选择框没有填充:@learningPHPJquery您似乎对如何与PHP交互有错误的印象。您需要将两者分开,当select更改时,您可以通过AJAX在where.php请求一个页面,并按照所述传递数据。然后PHP脚本返回或回显的值将被插入到您调用的load on.UPDATE元素中:我通过accidentOk将其添加为答案,我将其添加为更新,我按照您所说的操作,但现在第二个选择框没有加载,这可以在我的服务器@www.masswarveterans.com上看到,我在sql语句的where子句中调用$myVar是否错误?
 <?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);
 ?>
$('#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}
    );
});
$con = mysqli_connect(,,,,);
$myVar = $_GET["myVar"];
// Check connection
if (mysqli_connect_errno())
   {
   echo "<option>Failed to connect to MySQLi</option>" ;
   }