通过传递选定的下拉值获取第三个下拉列表的结果

时间:2015-05-07 06:46:43

标签: javascript php mysql drop-down-menu

我根据上面选择的下拉列表显示下拉列表。我希望结果在第三个下拉列表中。为此,我在sql中编写php查询并在jquery中编写更改事件,但我无法得到结果。我被困在那里

我的jquery看起来像

$(document).ready(function(){
    $("#parent_cat,#city").change(function(){
        $.get('loadlocation.php?city=' + $(this).val() , function(data) {
          $("#sub_cat").html(data);

        });
    });
});

parent_cat和city来自选定的值

<label for="category">Category</label>
<select name="parent_cat" id="parent_cat">
    <?php while($row = mysql_fetch_array($query_parent)): ?>
        <option value="<?php echo $row['name']; ?>"><?php echo $row['name']; ?></option>
    <?php endwhile; ?>
</select>
<br/><br/>
<label for="city">city</label>
<select name="city" id="city">
    <?php while($row = mysql_fetch_array($query_parent1)): ?>
        <option value="<?php echo $row['city']; ?>"><?php echo $row['city']; ?></option>
    <?php endwhile; ?>
</select>
<br/><br/>

我的php文件loadlocation.php是

<?php 
    include('config.php');
    $parent_cat = $_GET['parent_cat'];
    $city = $_GET['city'];
    $query = mysql_query("SELECT  table_place_detail.post_title FROM table_terms, table_place_detail, table_post_locations
    WHERE  table_place_detail.post_location_id =    table_post_locations.location_id AND  table_place_detail.default_category =  table_terms.term_id AND  table_post_locations.city =  '$city' AND table_terms.name =  '$parent_cat'");
    while($row = mysql_fetch_array($query)) {
        echo "<option value='$row[post_title]'>$row[post_title]</option>";
    }
?>

我想将parent_cat,city的值提取到loadlocation.php,但我无法获取这些值。我想加载这两个值并获得查询,并且值应显示在第3个下拉列表中,如下所示,任何人都可以帮助解决此问题

<label>Vendors List 1</label>
<select name="sub_cat" id="sub_cat"></select>

1 个答案:

答案 0 :(得分:0)

两件事突出

  • 您只发送一个值?city=
  • 根据手册jQuery.get(),您可以将其他参数作为普通对象发送。这意味着,您不需要构建查询字符串,但可以单独传递parent_catcity,例如

    $.get("loadlocation.php",
          { parent_cat: $('#parent_cat').val(), city: $('#city').val() },
          function(data) {
              $('#sub_cat').html(data);
          });
    

最后,每个mysql_*页面的强制性提示

  

警告自PHP 5.5.0起,此扩展程序已弃用,将来将被删除。相反,应该使用MySQLi或PDO_MySQL扩展。另请参阅MySQL:选择API指南和相关的常见问题解答以获取更多信息。该功能的替代方案包括:

     
      
  • mysqli_query()
  •   
  • PDO ::查询()
  •