我想创建一个下拉列表,显示来自两个表的数据。我有一个CATEGORY表和一个SUB_CATEGORY表。我编写了以下代码,但它只显示CATEGORY表中的项目,以及每个类别后面的空格。 我想在下拉列表中找到类似的内容。
我编写了以下代码,但它没有给我所需的输出。请检查一下。
<?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;
?>
答案 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;