带动态数据的嵌套下拉列表

时间:2013-07-22 09:52:30

标签: php mysql database html-select

我想创建一个下拉列表,显示来自两个表的数据。我有一个CATEGORY表和一个SUB_CATEGORY表。我编写了以下代码,但它只显示CATEGORY表中的项目,以及每个类别后面的空格。 我想在下拉列表中找到类似的内容。

Required Output

我编写了以下代码,但它没有给我所需的输出。请检查一下。

 <?php
include 'connect.php';

echo "<select name='category'>";

$select_query=          'Select * from category';
$select_query_run =     mysql_query($select_query);

  $sub_category_query="Select * from sub_categories where id='".$select_query_array['category_id']."'";

      $sub_category_query="Select * from sub_categories ";
      $sub_query_run=         mysql_query($sub_category_query);


while ($select_query_array=   mysql_fetch_array($select_query_run) ) {

     echo "<optgroup label='".$select_query_array['name']."' >".

              //    $sub_category_query="Select * from sub_categories where id='".$select_query_array['category_id']."'";

                    $sub_category_query="Select * from sub_categories";

                $sub_query_run=         mysql_query($sub_category_query);


     while   ($sub_query_run1=   mysql_fetch_array($sub_query_run) ) {
          echo "<option value='".$sub_query_run1['sub_category_id'] . "' >" .
               htmlspecialchars($sub_query_run1['sub_category_name']) . "</option>";
     }
     echo "</optgroup>";
 }
 echo "</br>";

 $selectTag= "</br><input type='submit' value='Insert Product'  /></select></form>";

 echo "</div></div>";

 echo $selectTag;





?>

1 个答案:

答案 0 :(得分:1)

只有在维护两个表之间的外键关系时,这才有效。

echo "<select name='category'>";

$select_query=          'Select * from category';
$select_query_run =     mysql_query($select_query);

while ($select_query_array=   mysql_fetch_array($select_query_run) ) {

     echo "<optgroup label='".$select_query_array['category_id']."' >".
          htmlspecialchars($select_query_array["name"]).

     $sub_category_query="Select * from sub_categories where id='".$select_query_array['category_id']."'";

     $sub_query_run=         mysql_query($sub_category_query);

     while   ($sub_query_run1=   mysql_fetch_array($select_query_run) ) {
          echo "<option value='".$sub_query_run1['sub_category_id'] . "' >" .
               htmlspecialchars($sub_query_run1['sub_category_name']) . "</option>";
     }
     echo "</optgroup>";
 }
 echo "</br>";

 $selectTag= "</br><input type='submit' value='Insert Product'  /></select></form>";

 echo "</div></div>";

 echo $selectTag;