打开页面上的默认选择值

时间:2014-07-03 16:14:29

标签: php

我很难思考如何在开始页面edit.php上设置默认选择值。因此,当我打开edit.php时,它会在选择框中显示从数据库获取值的不同值。现在第一个值打开,这是空白的。我想要打开edit.php页面选择下拉列表将从数据库colour表中选择默认值。因此,如果mysql colour表格为3而不是s select default value Blue. It it s 4,那么默认选择值将为灰色。

SQL

colour = 3

代码:main.php

$query = mysql_query("SELECT `colour` FROM `properties`");
$row = mysql_fetch_assoc($query);

if($row['colour'] == 1) { echo ''; }
    else if($row['colour'] == 2) { echo '<b>Colour:</b> Brown'; }
    else if($row['colour'] == 3) { echo '<b>Colour:</b> Blue'; }
    else if($row['colour'] == 4) { echo '<b>Colour:</b> Gray'; }

代码:edit.php

<form action="edit.php" method="post" >
    <select name="colour">
            <option value="1" <?php if (@$_POST['colour']=='1') {echo "selected='selected'"; } ?>></option>
            <option value="2" <?php if (@$_POST['colour']=='2') {echo "selected='selected'"; } ?>>Brown</option>
            <option value="3" <?php if (@$_POST['colour']=='3') {echo "selected='selected'"; } ?>>Blue</option>
            <option value="4" <?php if (@$_POST['colour']=='4') {echo "selected='selected'"; } ?>>Gray</option>
</select>
<input type="submit" value="Submit"/>
</form>

2 个答案:

答案 0 :(得分:0)

您需要在编辑页面上传递颜色变量。 例如:

<option value="1" <?=($color==1)?'selected="true"':'' ?> ></option>
<option value="2" <?=($color==2)?'selected="true"':'' ?> >Brown</option>

依旧......

此处,$color来自数据库选定值。

如果你想从数据库中获取价值,你不需要POST变量。

答案 1 :(得分:0)

在客户端执行此操作时会更容易。你需要改变

<select name="colour">

<select name="colour" id="colour">

然后将此代码放入edit.php

<script>
window.onload = function(){
    var select = document.getElementById("colour");
    select.value = 3; //now, 3 is the default value of your select
};
</script>