0

I am trying to create a dynamic drop down list using PHP and mysql database. I have written the following code and its giving me the output, but the problem is that its showing different drop-down menu for each item, I want all items in a single drop down list. Kindly check it and guide me.

        $select_query=          "Select name from category";
        $select_query_run =     mysql_query($select_query);
        while   ($select_query_array=   mysql_fetch_array($select_query_run) )
        {
            foreach ($select_query_array as $select_query_display)
            {
                echo "  
                    <select>
                        <option value='' >$select_query_display</option>                        
                    </select>
                ";


                }

            }

Thanks

5 Answers 5

4

Get rid of the inner foreach loop... it is doing nothing for you and move the start and end select tags outside of the while loop.

$select_query=          "Select name from category";
$select_query_run =     mysql_query($select_query);
echo "<select name='category'>";
while ($select_query_array=   mysql_fetch_array($select_query_run) )
{
   echo "<option value='' >".htmlspecialchars($select_query_array["name"])."</option>";
}
echo "</select>";
Sign up to request clarification or add additional context in comments.

1 Comment

Thank you so much for the prompt response! It is working !! :)
1

take look at this code.

$select_query=          "Select name from category";
$select_query_run =     mysql_query($select_query);

echo "<select>";
while   ($select_query_array=   mysql_fetch_array($select_query_run) )
{
        echo "<option value='' >".$select_query_array['name']."</option>";                        
}
echo "</select>";

Comments

1
<?php

$res = mysqli_query($conn, "SELECT DISTINCT coloumn_name FROM table_name;" );
while($row = mysqli_fetch_array($res))    
{
    echo "<option value='" . $row['selected_coloumn']. "'>" . $row['selected_coloumn'] . "</option>";
}
?>

In this example please select your 'coloumn_name' and 'table_name'.

Comments

0
$select_query= "Select name from category";
$select_query_run =     mysql_query($select_query);
$selectTag = "<select>";
while   ($select_query_array=   mysql_fetch_array($select_query_run) ){
    foreach ($select_query_array as $select_query_display){
        $selectTag .="<option value='' >$select_query_display</option>";
    }
}
$selectTag .= "</select>";

   echo $selectTag;

1 Comment

It is working, but its showing duplicate records. I didn't give it negative points. Thanks :)
0

You may try it

    $select_query=          "Select name from category";
    $select_query_run =     mysql_query($select_query);
    $select_query_array=   mysql_fetch_array($select_query_run)
    $select = "<select>";
    foreach ($select_query_array as $val)
    {
        $select .= "<option value='".$val['name']."' >".$val['name']."</option>"; 


    }

    $select = "</select>";

    echo $select;

Hope It will work

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.