如何从数据库中获取选项列表并选择它?

I want a dynamic option list which reads from database table lets say table of : Students,

It must show to user the list of student_name and when it is selected by user it must send student_id of that student to the database. For example:

Students table :

student_id             student_name 
----------------------------
1                     John
2                      Edward

In users option list must be included only John, Edward.. but when user selects John, the option picker must send only student_id('1') to database.

My current code , but is not fetching list from db :S : yes, this is my code but for some reasons it ain't work :

<select  Name='student_id'>
            <option value="">--- Select ---</option>
            <?
                mysql_connect ("localhost","root","");
                mysql_select_db ("mydb");
                $select="student_name";
                if (isset ($select)&&$select!=""){
                $select=$_POST ['student_name'];
            }
            ?>
            <?
                $list=mysql_query("select * from students order by student_name asc");
            while($row_list=mysql_fetch_assoc($list)){
                ?>
                    <option value="<? echo $row_list['student_id']; ?>"<? if($row_list['student_name']==$select){ echo "selected!"; } ?>>
                                         <?echo $row_list['student_name'];?>
                    </option>
                <?
                }
                ?>
            </select>

Try below code.

$con = mysqli_connect('localhost','root','','mydb');

$sql="SELECT student_id ,student_name  FROM students";
$result = mysqli_query($con,$sql);
?>
<select name = "student">
<?php
while($row = mysqli_fetch_array($result)) {
?>
<option value="<?php echo $row['student_id']; ?>"><?php echo $row['student_name']; ?></option>
<?php
}
?>
</select>

may this one help you

$result = mysqli_query($con,"SELECT * FROM Students");

echo "<select>";

while($row = mysqli_fetch_array($result)) {

echo "<option id=".$row['student_id'].">" . $row['student_name'] . "</option>";   

}

echo "</select>";

mysqli_close($con);
?> 

You should fetch your database from your PHP, then build your list out of it

//YOU MUST ADD YOUR DATABASE CONNECTION
mysql_connect('localhost','username','password');
mysql_select_db("dbname");

//HERE IS YOUR SQL REQUEST
$SQL_request = "SELECT * FROM `student_table`";
$req = mysql_query($SQL_request) or die(mysql_error().'<br/>'.$SQL_request);

echo '<select name = "students">';

while($result = mysql_fetch_assoc($req)){
    echo '<option value="'.$result['student_id'].'">'.$result['student_name'].'</option>';
}

echo '</select>';
?>