根据以前的选择创建多个选择,并使用DB中的值

时间:2014-10-21 15:33:19

标签: php mysql forms select

有人可以帮我解决这个问题吗(php / js或jquery)?我还是初学者。

我在mysql中有一个包含其他内容的表(在检查数据库之前我不知道)

  • 公司名称(例如Abc,Def ......)
  • 和每个月不同的一些数据

我需要创建一个表单,首先在选择字段中加载可用的公司名称。当用户选择其中一个( Abc )时,它应该只显示该公司的适当年份( 2000,2008,2012 )等等(选定年份刚刚填写)月)。

我已经完成了第一部分(下图)工作,但如果我不知道可能的组合而不检查数据库,如何处理不同公司的不同选择。

<?php 
echo "Select company: <select name=\"company\">";
    $con=connect();
    $result = mysqli_query($con,"SELECT * FROM Company");
    while($row = mysqli_fetch_array($result)) {
        echo "<option value=\"".$row['Name']."\">".$row['Name']."</option>";
    }
    mysqli_close($con);
    echo "</select><br>";
?>

1 个答案:

答案 0 :(得分:0)

    in order to do that you need to use Ajax , suppose the ajax file is relatedYears.php
    in relatedYears.php, write the following code 

    <?php 
    $con=connect();
    $result="";

    //this is the company name sent by url using ajax in the main page
    $company_name= $_GET['company_name'];

    $query= "SELECT years FROM COMPANY WHERE company = $company_name";
    $x=mysql_query($query) or die('error query');
    $years=array();
    while($row=mysql_fetch_row($x))
      $years[]= $row[0];

    foreach($years as $year)
      $results .= "<option value='".$year."'>".$year."</option>";


    echo $results;
    ?>