Создание динамического выпадающего меню при возврате набора результатов mySQL

Я возвращаю результат из базы данных mySQL в таблицу, используя 5 столбцов. До сих пор так хорошо, что в таблице отображаются правильные полевые данные. Я хотел бы знать, как мне нужно создавать раскрывающееся меню для каждой строки? Это будет 6-й столбец с именем «Статус» и будет состоять из трех значений, которые изменят видимость строки. Другое дело, что «статус» не будет связан с базой данных. вот мой текущий код:

<?php $result = mysql_query("SELECT * FROM somewhere") or die (mysql_error()); ?> <table class="table1" > <h4>Orders</h4> <tr> <th>Number</th> <th>Date</th> <th>Ordered By</th> <th>Supplier</th> <th>Price</th> <th>Status</th> </tr> <?php while($row=mysql_fetch_array($result)){ echo "</td><td>"; echo $row['Orderno']; echo "</td><td>"; echo $row['Orderdate']; echo "</td><td>"; echo $row['Orderedby']; echo "</td><td>"; echo $row['Supplier']; echo "</td><td>"; echo $row['totalprice']; echo "</td><td>"; echo $row['Status']; echo "</td></tr>"; } echo "</table>"; ?> 

Огромное спасибо

 <select> <?php while($row=mysql_fetch_array($result)){ ?> <option value = "<?php echo $row['Orderno']?>"> <?php $row['other']?> </option> <?php } ?> </select> в <select> <?php while($row=mysql_fetch_array($result)){ ?> <option value = "<?php echo $row['Orderno']?>"> <?php $row['other']?> </option> <?php } ?> </select> 

Это только образец. Вы можете использовать в соответствии с вашими требованиями

 <?php $result = mysql_query("SELECT * FROM somewhere") or die (mysql_error()); ?> <h4>Orders</h4> <table class="table1" > <tr> <th>Number</th> <th>Date</th> <th>Ordered By</th> <th>Supplier</th> <th>Price</th> <th>Status</th> </tr> <?php while($row=mysql_fetch_array($result)){ echo "</td><td>"; echo $row['Orderno']; echo "</td><td>"; echo $row['Orderdate']; echo "</td><td>"; echo $row['Orderedby']; echo "</td><td>"; echo $row['Supplier']; echo "</td><td>"; echo $row['totalprice']; echo "</td><td>"; echo ' <select id="'.$row['Orderno'].'" onchange="myJSFunction(this)"> <option>Example</option> <option>Example 2</option> </select>'; echo "</td></tr>"; } echo "</table>"; ?> в <?php $result = mysql_query("SELECT * FROM somewhere") or die (mysql_error()); ?> <h4>Orders</h4> <table class="table1" > <tr> <th>Number</th> <th>Date</th> <th>Ordered By</th> <th>Supplier</th> <th>Price</th> <th>Status</th> </tr> <?php while($row=mysql_fetch_array($result)){ echo "</td><td>"; echo $row['Orderno']; echo "</td><td>"; echo $row['Orderdate']; echo "</td><td>"; echo $row['Orderedby']; echo "</td><td>"; echo $row['Supplier']; echo "</td><td>"; echo $row['totalprice']; echo "</td><td>"; echo ' <select id="'.$row['Orderno'].'" onchange="myJSFunction(this)"> <option>Example</option> <option>Example 2</option> </select>'; echo "</td></tr>"; } echo "</table>"; ?> 

Затем напишите функцию JJ myJSFunction для обработки события изменения.

Как это. Обратите внимание, что $options находятся вне цикла. Я также зафиксировал позицию тэга <h4> – он уже находился в <table> .

 <?php function create_select($name, $options = array(), $selected = null) { $html = '<select name="'.$name.'">'; foreach ($options as $k => $v) { $html .= '<option value="'.$k.'"'; if ($k == $selected) { $html .= ' selected'; } $html .= '>'.$v.'</option>'; } $html .= '</select>'; return $html; } $result = mysql_query("SELECT * FROM somewhere") or die (mysql_error()); ?> <h4>Orders</h4> <table class="table1" > <tr> <th>Number</th> <th>Date</th> <th>Ordered By</th> <th>Supplier</th> <th>Price</th> <th>Status</th> </tr> <?php $options = array( 'despatched' => 'Despatched', 'pending' => 'Pending' // etc... ); while($row=mysql_fetch_array($result)) { echo "</td><td>"; echo $row['Orderno']; echo "</td><td>"; echo $row['Orderdate']; echo "</td><td>"; echo $row['Orderedby']; echo "</td><td>"; echo $row['Supplier']; echo "</td><td>"; echo $row['totalprice']; echo "</td><td>"; echo create_select('status_'.$row['id'], $options, $row['Status']); echo "</td></tr>"; } echo "</table>"; в <?php function create_select($name, $options = array(), $selected = null) { $html = '<select name="'.$name.'">'; foreach ($options as $k => $v) { $html .= '<option value="'.$k.'"'; if ($k == $selected) { $html .= ' selected'; } $html .= '>'.$v.'</option>'; } $html .= '</select>'; return $html; } $result = mysql_query("SELECT * FROM somewhere") or die (mysql_error()); ?> <h4>Orders</h4> <table class="table1" > <tr> <th>Number</th> <th>Date</th> <th>Ordered By</th> <th>Supplier</th> <th>Price</th> <th>Status</th> </tr> <?php $options = array( 'despatched' => 'Despatched', 'pending' => 'Pending' // etc... ); while($row=mysql_fetch_array($result)) { echo "</td><td>"; echo $row['Orderno']; echo "</td><td>"; echo $row['Orderdate']; echo "</td><td>"; echo $row['Orderedby']; echo "</td><td>"; echo $row['Supplier']; echo "</td><td>"; echo $row['totalprice']; echo "</td><td>"; echo create_select('status_'.$row['id'], $options, $row['Status']); echo "</td></tr>"; } echo "</table>";