Search code examples
phpselectdrop-down-menudistinct

mysql select distinct query in PHP


$sql = "SELECT DISTINCT Branch FROM student_main";
    $result = mysql_query($sql);
    $row_num = mysql_num_rows($result);
    $rows = mysql_fetch_array($result);
    echo "<select name='Branch'>";
    for($i=0;$i<=$row_num-1;$i++){
        echo "<option value='".$rows[$i]."'>".$rows[$i]."</option>";

    }
    echo "</select>";
    echo "<input type='submit' Value='submit' />";
    echo "</form>";

I am trying to create a dropdown using the above code for my form. But its not working. There are 3 distinct values in the Branch column but in the dropdown, it shows only one value(the first one) and the next two as blank values.

However when in echo $row_num, its shows 3.
Thats means its fetching the three rows, but then why its not showing in the dropdown list.

If I run the same query in phpmyadmin it shows the correct answer i.r it returns 3 distinct Branch values.


Solution

  • You should do something like this:

    $sql = "SELECT DISTINCT Branch FROM student_main";
    $result = mysql_query($sql);
    
    echo "<select name='Branch'>";
    while ($row = mysql_fetch_array($result)) {
        echo "<option value='".$row[0]."'>".$row[0]."</option>";
    }
    echo "</select>";
    
    echo "<input type='submit' Value='submit' />";
    echo "</form>";