从上一个选择框PHP-SQL Server筛选选择框

从上一个选择框PHP-SQL Server筛选选择框,php,sql,sql-server-2008,Php,Sql,Sql Server 2008,我有两个从数据库中提取的选择框,如何获取选择框1中选择的选项以过滤选择框2中的SQL 例如选择1-品牌(奥迪、宝马)选择2-车型(A1、A3、1系列、3系列) 我想表明,如果我从select1中选择Audi,它将使用Audi在我的SQL中填充WHERE子句来过滤select2 <label>Manufacturer</label> <select class="select2_category form-control" data-placeholder="Choo

我有两个从数据库中提取的选择框,如何获取选择框1中选择的选项以过滤选择框2中的SQL

例如选择1-品牌(奥迪、宝马)选择2-车型(A1、A3、1系列、3系列)

我想表明,如果我从select1中选择Audi,它将使用Audi在我的SQL中填充WHERE子句来过滤select2

<label>Manufacturer</label>
<select class="select2_category form-control" data-placeholder="Choose a Category" tabindex="1" id="make" name="make" >
    <option value=""></option>
    <?php $sqlmake = odbc_exec($cnn, "SELECT DISTINCT Manufacturer FROM lkup.alldata ORDER BY Manufacturer ");
            while($manurs = odbc_fetch_array($sqlmake)) {                                                                        
                echo '<option value="'. $manurs['Manufacturer'] .'">'. $manurs['Manufacturer'] .'</option>';
        }
    ?>
</select>
制造商
从上面开始,我一直在做下面的工作,它不会返回错误,但当您单击SELECT时,也不会在SELECT中返回任何值

我在哪里迷路了

我的选择

<select class="select2_category form-control" data-placeholder="Choose a Category" tabindex="1" id="model" name="model">
<option value=""></option>                                                                
</select>
<script>
$(function() {
    $('.make').change(function() {
    var select = $('.model').empty();
        $.get('assets/configs/script.php', {model: $(this).val()}, function(result) {
            $.each(result, function(i, item) {
                $('<option value="' + item.value + '">' + item.name + '</option>').
                    appendTo(select);
            });
        });
    });
    });
   </script>

$(函数(){
$('.make').change(函数(){
var select=$('.model').empty();
$.get('assets/configs/script.php',{model:$(this.val()},函数(result){
$。每个(结果、功能(i、项目){
$(''+item.name+'')。
附加到(选择);
});
});
});
});
script.php

<?php
session_start();
date_default_timezone_set("Europe/London");
error_reporting(0);    

include 'config.php'; //my db settings

if (isset($_GET['model'])) {      
    $model = addslashes($_GET['model']);
    $sqlmodel = odbc_exec($cnn, "SELECT DISTINCT ModelName FROM lkup.MyTable WHERE ModelName IS NOT NULL AND Make = $model ORDER BY ModelName ");
    $modelrs = array();
    while ($row = $sqlmodel->fetch_assoc()) {
        $modelrs[] = array(
            'ModelName' => $modelrs['ModelName']
        );
    }
    echo json_encode($modelrs);
}?> 

如果您熟悉javascript或jQuery,您可以运行另一个php echo语句来创建其他具有所有可能性的select选项,然后使用jQuery隐藏或显示适当的选项

    $('select[name=first_select]').on('change', function(){
    var make = $(this).val();
        $.each($('select[name=second_select] option'), function(){
          if($(this).prop('class') != make){
            $(this).hide();
          }
      }
    });

在这方面出现了很多问题之后,我发现这个链接非常有用。我想我的主要问题是我使用的是PHP&mssqlserver,这让我的生活很困难


我想发布$u GET['make'];回显我得到的变量,但它没有返回任何内容,然后我考虑将其发布到jquery中,但是我如何将jquery作为变量输出?您是在问如何在jquery中读取PHP变量吗?如果是,如:var example=“”;使用PHP创建选项2选择框,并为每个选项指定$manurs类['Manufacturer']。然后,您可以通过在第一次选择时执行更改事件来使用jQuery。在change事件中,执行if语句,例如,如果选定的值等于“Audi”。通过将每个选项类与第一个选择的选定值进行比较,可以隐藏第二个选择中的选项。有意义吗?我不确定我是否完全理解,目前我有与上面相同的设置来提取所有模型名称,echo显示echo“”$建模者['ModelName'].';因此,您的说法使用与SELECT 1回显“”中相同的回显$制造商[“制造商]。”;?我们如何在jquery中将其作为一个函数进行更改?我已经用最新的更改编辑了第一篇文章,但仍然误入歧途,为什么会这样?