Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.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
Php 根据第一次的结果填充第二个下拉列表_Php_Jquery - Fatal编程技术网

Php 根据第一次的结果填充第二个下拉列表

Php 根据第一次的结果填充第二个下拉列表,php,jquery,Php,Jquery,目前,我正在使用动态选择填充下拉列表。我想做的是显示第二个下拉列表,其中包含基于第一个选择的结果。我不知道该怎么做,也一直在寻找答案,但没有结果。我已经包括了我用来填充第一个菜单的代码,如果您需要任何进一步的代码,请告诉我。如果有人能帮助我编写代码,我非常愿意研究jQuery或javascript。非常感谢 <form id="boxform" method="post" class="webform" name="boxform" /> <label for

目前,我正在使用动态选择填充下拉列表。我想做的是显示第二个下拉列表,其中包含基于第一个选择的结果。我不知道该怎么做,也一直在寻找答案,但没有结果。我已经包括了我用来填充第一个菜单的代码,如果您需要任何进一步的代码,请告诉我。如果有人能帮助我编写代码,我非常愿意研究jQuery或javascript。非常感谢

<form id="boxform" method="post" class="webform" name="boxform" />

        <label for="company">Select a Company:</label>
                <select name="company" id="company" />
                    <option SELECTED VALUE="">Select a Company</option>
                        <?php
                          do {  
                        ?>
                    <option value="<?php echo $row_Recordsetcust['customer']?>"><?php echo $row_Recordsetcust['customer']?></option>
                        <?php

                    } 
                        while ($row_Recordsetcust = mysql_fetch_assoc($Recordsetcust));
                        $rows = mysql_num_rows($Recordsetcust);

                if($rows > 0)

                    {
                        mysql_data_seek($Recordsetcust, 0);
                        $row_Recordsetcust = mysql_fetch_assoc($Recordsetcust);
                    }

                         ?>
                 </select>
更新:

这是php格式的第二个下拉列表的代码,如果它有助于继续,谢谢

<label for="boxrtnaddress">Select Address</label>
     <select name="boxrtnaddress" id="boxrtvaddress" />
        <option SELECTED VALUE="">Select Delivery Address</option>

            <?php
            while ($row_rs_select_address2 = mysql_fetch_assoc($rs_select_address2))
            {  
                    $value=$row_rs_select_address2['address1_com']. " ". $row_rs_select_address2['address2_com']. " ". $row_rs_select_address2['address3_com']. " ". $row_rs_select_address2['town_com']. " ". $row_rs_select_address2['postcode_com'];
                    $caption=$row_rs_select_address2['address1_com']. " ". $row_rs_select_address2['address2_com']. " ". $row_rs_select_address2['address3_com']. " ". $row_rs_select_address2['town_com']. " ". $row_rs_select_address2['postcode_com'];
                    echo "<option value=\"", $value, "\">", $caption, "</option>";
            }
            ?>
    </select>
+++++++++++++解决方案++++++++++

<script language="javascript" type="text/javascript" src="http://code.jquery.com/jquery-1.6.2.min.js"></script>
<script language="javascript" type="text/javascript">
      $(function() {
            $("#company").change(function() {
              if ($(this).val()!="") $.get("getOptions.php?customer=" + $(this).val(), function(data) {
                $("#divId").html(data);
                });
              });
      });
</script>
getOptions.php

<?php
    $customer = mysql_real_escape_string( $_GET["customer"] ); // not used here, it's the customer choosen

    $con = mysql_connect("localhost","root","");
    $db = "sample";
      if (!$con)
        {
        die('Could not connect: ' . mysql_error());
        }

        mysql_select_db($db, $con);
        $query_rs_select_address2 = sprintf("SELECT * FROM company_com where idcode_com = '$customer'");
        $rs_select_address2 = mysql_query($query_rs_select_address2, $con) or die(mysql_error());
        $row_rs_select_address2 = mysql_fetch_assoc($rs_select_address2);
        $totalRows_rs_select_address2 = mysql_num_rows($rs_select_address2);



                    $address=$row_rs_select_address2['address1_com']. " ". $row_rs_select_address2['address2_com']. " ". $row_rs_select_address2['address3_com']. " ". $row_rs_select_address2['town_com']. " ". $row_rs_select_address2['postcode_com'];
                     echo '<select name="customer">'.'<option value="">Select delivery address</option>'.'<option value="address">'.$address.'</option>'.'</select>';



?>

这可能会有帮助,这是一把小提琴

根据第一个选择动态附加一个选择。代码凌乱肮脏,因此我不打算在这里发布:

您可以查看以下内容,以便更好地了解工作原理

更改select的选定值时触发

is':empty'检查新创建的'select'所指向的div 要追加的是否为空

编辑 我会给你提示,希望你能填写剩下的代码

首先,您需要处理第一个下拉列表的更改事件,当值更改时,您可以执行ajax、get、向服务器发送请求、获取结果并填充第二个下拉列表,下面是一个有用的stackoverflow链接,可以帮助您

在您的results.php中

从第一个下拉列表中获取值

$val = $_POST['data'];
//now do the sql queries to fetch desired result
//and echo the results back

echo $results ;
这里有一些有用的链接


这可能会有帮助,这是一把小提琴

根据第一个选择动态附加一个选择。代码凌乱肮脏,因此我不打算在这里发布:

您可以查看以下内容,以便更好地了解工作原理

更改select的选定值时触发

is':empty'检查新创建的'select'所指向的div 要追加的是否为空

编辑 我会给你提示,希望你能填写剩下的代码

首先,您需要处理第一个下拉列表的更改事件,当值更改时,您可以执行ajax、get、向服务器发送请求、获取结果并填充第二个下拉列表,下面是一个有用的stackoverflow链接,可以帮助您

在您的results.php中

从第一个下拉列表中获取值

$val = $_POST['data'];
//now do the sql queries to fetch desired result
//and echo the results back

echo $results ;
这里有一些有用的链接


通过设置选择的名称,创建子按钮,然后调用ifisset'sub',$\u POST by$\u POST[所选的选项],您可以continue@negin对不起,我不明白。你能举个例子吗?@bollo你所说的$divId.htmldata是什么意思;通过设置选择的名称,创建子按钮,然后调用ifisset'sub',$\u POST by$\u POST[所选的选项],您可以continue@negin对不起,我不明白。你能举个例子吗?@bollo你所说的$divId.htmldata是什么意思;如何将该代码转换为从mysql的菜单中提取?谢谢你想用mysql数据库中的值填充第二个下拉列表吗?谢谢。我将尽力使它发挥作用。我唯一的问题是php db调用。有没有一个例子可以说明如何做到这一点,或者它与标准php相同?这只是访问db并生成适合我的queriesposted解决方案的正常方式。只需要让while循环在php中工作。可能会帮助别人。谢谢你们的帮助,我该如何将这些代码转换成从mysql菜单中提取的代码?谢谢你想用mysql数据库中的值填充第二个下拉列表吗?谢谢。我将尽力使它发挥作用。我唯一的问题是php db调用。有没有一个例子可以说明如何做到这一点,或者它与标准php相同?这只是访问db并生成适合我的queriesposted解决方案的正常方式。只需要让while循环在php中工作。可能会帮助别人。谢谢你的帮助