我有一个表从mysql数据库填充。其中一个字段是"status"。我希望这个单元格是表内的下拉框,这样我就可以更新特定的字段。
这段代码正确地显示了表格,目前它显示了一个文本框内的"状态"文件,我可以成功地编辑它。我希望这是一个下拉菜单。
<?php
require_once('db_connect.php');
$result = mysql_query("SELECT *
FROM queries
WHERE SR = '$_GET[SR]'
")
or die(mysql_error());
echo '<form name="Form" action="update.php" method="post">';
echo
"<table id='box-table-b'>
<thead>
<tr>
<th>SR</th>
<th>Product</th>
<th>Status</th>
</tr>
</thead>";
while($row = mysql_fetch_array($result))
{
echo "<tbody>";
echo "<tr>";
echo "<td>" . $row['SR'] . "</td>";
echo "<td>" . $row['product'] . "</td>";
echo "<td>" . '<input type="text" name="status" value="'.$row['status'].'" />' . "</td>";
echo "</tr>";
echo "</tbody>";
}
echo "</table>";
echo '<input type="submit" name="Save" value="Save" />';
echo '</form>';
?>
谁能告诉我怎么做?
要回答这个问题,您应该使用<select></select>
标记。例子:
<select>
<option>Item 1</option>
<option>Item 2</option>
<option> ... </option>
<option selected="selected">Item N</option>
</select>
在这个特定的例子中,下拉菜单将默认选中"Item N"。
作为旁注,一般来说,使用mysql_*函数不是不好的做法吗?
通过下拉菜单我猜你的意思是select
标签,任何更复杂的,这需要自定义实现。
这需要两个步骤:首先你需要创建选择标签,并填充选项标签,然后你需要设置所需的值作为选择。
创建select标签:
$myselect="<select id='status' name='status'>";
foreach($status_values as $e){
$myselect.="<option value='$e'>$e</option>";
}
$myselect.="</select>";
$status_value
是一个数组,你可以在你的代码或从查询中得到它。
要选择正确的选项,可以在上面的代码中添加以下if:
$myselect="<select id='status' name='status'>";
foreach($status_values as $e){
if($e == $row['status']){
$myselect.="<option value='$e' SELECTED>$e</option>";
}else
$myselect.="<option value='$e'>$e</option>";
}
}
$myselect.="</select>";