Reputation: 1274
I want to create a drop down list which is showing data from two tables. I have a CATEGORY table and a SUB_CATEGORY table. I have written the following code, but its only showing me items from CATEGORY table, and a blank space after each category. I want something like this in the drop down list.
I have written the following code, but it's not giving me the required output. Kindly check it.
<?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;
?>
Upvotes: 0
Views: 2181
Reputation: 5216
This will work only if u maintain forgien key relation between two tables.
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;
Upvotes: 1