编辑下拉列表,但不显示php中mysql数据库中的选定值

时间:2011-12-09 04:37:20

标签: php mysql html

我是php的新手,我创建了从mysql数据库调用数据的下拉列表,用户选择选项并保存到数据库。

问题以编辑形式出现,其中未显示所选值。

下拉代码如下:

$query = 'SELECT name FROM owner';
$result = mysql_query($query) or die ('Error in query: $query. ' . mysql_error());

//create selection list
echo "<select name='owner'>\name";
while($row = mysql_fetch_row($result))
{
    $heading = $row[0];
    echo "<option value='$heading'>$heading\n";
}
echo "</select>"

请为编辑表格提供解决方案。

先谢谢

3 个答案:

答案 0 :(得分:3)

您必须关闭<option>标记: echo "<option value='$heading'>$heading</option>";

答案 1 :(得分:0)

$query = 'SELECT name FROM owner';
$result = mysql_query($query) or die ('Error in query: $query. ' . mysql_error());

//create selection list
echo "<select name='owner'>\name";
while($row = mysql_fetch_row($result))
{
    $heading = $row[0];
?>
    <option <?php if($heading=="SOMETHING") { echo "selected='selected'"; } ?> value="SOMETHING">SOMETHING</option>
<option <?php if($heading=="SOMETHING2") { echo "selected='selected'"; } ?> value="SOMETHING2">SOMETHING2</option>
<option <?php if($heading=="SOMETHING3") { echo "selected='selected'"; } ?> value="SOMETHING3">SOMETHING3</option>
<?php
}
echo "</select>"

答案 2 :(得分:-2)

我会这样做。

$numrows = mysql_num_rows($result);
if ($numrows != 0){
    echo "<select name='owner'>\name";
    while ($x = mysql_fetch_assoc($result)){
       echo "<option value='".$x['heading']."'>".$x['heading']."</option>";
    }
echo "</select>";
}

$ x ['heading']正在使用数据库中“heading”行的值

效率更高,看起来更复杂。