我很难思考如何在打开页面edit.php上设置默认选择值。当我打开edit。php时它会在select框中显示不同的值从数据库中获取值。现在打开的第一个值是空的。我希望打开edit.php页面选择下拉列表将从数据库colour
表中选择默认值。因此,如果mysql的colour
表是3,那么它的s select default value Blue. It it
表是4,那么默认的选择值将是Gray。
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>
您需要在编辑页面上传递颜色变量。例如:
<option value="1" <?=($color==1)?'selected="true"':'' ?> ></option>
<option value="2" <?=($color==2)?'selected="true"':'' ?> >Brown</option>
等等…
这里,$color
来自于数据库选择的值。
如果你想从数据库中获取值,你不需要POST变量
在客户端这样做会容易得多。你需要修改
<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>