提交页面后如何保留选中的项目?我有以下代码的国家下拉列表。
<?php
$SQL = "SELECT countr_id, country_name FROM countries";
$Result = mysql_query($SQL) or die(mysql_error());
?>
<select name="country" style="width:400px"> <option value='-1'></option>
<?php
while($row = mysql_fetch_array($Result))
{
echo "<option value='"".$row["country_id"]."'">".$row["country_name"]."</option>";
}
?>
<?php
$SQL = "SELECT countr_id, country_name FROM countries";
$Result = mysql_query($SQL) or die(mysql_error());
?>
<select name="country" style="width:400px"> <option value='-1'></option>
<?php
while($row = mysql_fetch_array($Result))
{
echo "<option value='"".$row["country_id"]."'"";
if($_POST['country'] == $row['country_id'])
echo 'selected';
echo ">".$row["country_name"]."</option>";
}
?>
<?php
while($row = mysql_fetch_array($Result))
{
if ($_POST['country'] == $row["country_id"]) {
echo "<option value='"".$row["country_id"]."'" selected="selected">".$row["country_name"]."</option>";
} else {
echo "<option value='"".$row["country_id"]."'">".$row["country_name"]."</option>";
}
}
?>
<?php
$SQL = "SELECT countr_id, country_name FROM countries";
$Result = mysql_query($SQL) or die(mysql_error());
?>
<select name="country" style="width:400px"> <option value='-1'></option>
<?php
while($row = mysql_fetch_array($Result))
{
echo "<option ";
if($_REQUEST['country'] == $row["country_id"]) echo 'selected="selected" ';
echo "value='"".$row["country_id"]."'">".$row["country_name"]."</option>";
}
?>
这段代码取决于您是否试图在提交回原始页面后保留该值。
<?php
$SQL = "SELECT countr_id, country_name FROM countries";
$Result = mysql_query($SQL) or die(mysql_error());
?>
<select name="country" style="width:400px">
<option value='-1'></option>
<?php
while($row = mysql_fetch_array($Result))
{
echo "<option ";
if($_REQUEST["yourSelectName"] ==$row["country_id"])
echo ' selected = "selected" ';
echo " value='"".$row["country_id"]."'">".$row["country_name"]."</option>";
}
?>
</select>
或者您可以将其全部内联…代码更少,不需要所有的if/then/else之类的东西
改变echo "<option value='"".$row["country_id"]."'">".$row["country_name"]."</option>";
echo "<option ". (($_POST['country'] == $row["country_id"]) ? 'selected ' : '') ."value='"".$row["country_id"]."'">".$row["country_name"]."</option>";
如果是get(在URL中传递),则使用get
<?php
$selectedid = 5; //example of selected if before submitting
$SQL = "SELECT countr_id, country_name FROM countries";
$Result = mysql_query($SQL) or die(mysql_error());
?>
<select name="country" style="width:400px"> <option value='-1'></option>
<?php
while($row = mysql_fetch_array($Result))
{
echo "<option value='"".$row["country_id"]." ".(($selected==$row["country_id"])?"SELECTED":"")."'">".$row["country_name"]."</option>";
}
?>
//assume you have $result = array(your result list);
<select name='question'>
<?php
foreach ($result as $question) {
if ($_POST['question'] == $question) {
$selected = "selected";
} else {
$selected = '';
}
echo "<option value='" . $question . "' $selected>$question</option>";
}
?>
</select>