Cum să creați o listă dinamică drop-down în PHP populată din baza de date MySQL (Programare, Php, Html, Mysql, Dinamic, Meniu Derulant)

Taha Kirmani a intrebat.

Încerc să creez o listă drop-down dinamică folosind PHP și baza de date mysql. Am scris următorul cod și mi-a dat rezultatul, dar problema este că afișează un meniu derulant diferit pentru fiecare element, eu vreau ca toate elementele să fie într-o singură listă derulantă. Vă rog frumos să verificați și să mă ghidați.

        $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>
                ";


                }

            }

Mulțumesc

5 răspunsuri
Orangepill

Scapă de bucla foreach internă… nu face nimic pentru tine și mută tag-urile de start și end select în afara buclei while.

$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>";

Comentarii

  • Mulțumesc foarte mult pentru răspunsul prompt! Este de lucru !!! 🙂 –  > Por Taha Kirmani.
Amir Habibzadeh

uitați-vă la acest cod.

$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>";

Yogesh
$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;

Comentarii

  • Funcționează, dar afișează înregistrări duplicate. Nu i-am dat puncte negative. Mulțumesc 🙂 –  > Por Taha Kirmani.
Aryan Arora
<?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>";
}
?>

În acest exemplu, vă rugăm să selectați 'coloumn_name' și 'table_name'.

vjy tiwari

Puteți încerca

    $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;

Sper că va funcționa