Php 提交时如何保存下拉菜单中的选定值
我建议在输出数据之前先获取Php 提交时如何保存下拉菜单中的选定值,php,forms,submit,Php,Forms,Submit,我建议在输出数据之前先获取的数据,这样您就可以将SQL和输出逻辑稍微分开一点,使事情更整洁 <form action="" method="post"> <?php echo "<select id='date' name='date' class='input' >"; echo '<option value="">Please Select Date</option>'?&g
的数据,这样您就可以将SQL和输出逻辑稍微分开一点,使事情更整洁
<form action="" method="post">
<?php echo "<select id='date' name='date' class='input' >";
echo '<option value="">Please Select Date</option>'?>
<?php
$sql1 = "SELECT Distinct date,day
FROM errorlog order by date";
$result1=mysql_query($sql1,$con);
if (!$result1)
die ("Could not retrieve date" .mysql_error());
for ($counter = 0; $row = mysql_fetch_row ($result1); $counter++)
print ("<option value = '$row[0]'>$row[1] - $row[0]</option>");
echo "</select>";
?>
</form>
这将获取数据并暂时保存到$data
中。一次一个烦恼。然后,如果用户通过POST提交,他提交的值将在$\u POST['date']
中。我们可以将该值与$data
中的值进行比较,如果$data
中的一行与该值匹配,则可以使用HTML的selected=“selected”
属性
$sql1 = "SELECT Distinct date,day
FROM errorlog order by date";
$result1 = mysql_query($sql1,$con);
if (!$result1)
die ("Could not retrieve date" .mysql_error());
$data = array();
for ($counter = 0; $row = mysql_fetch_row ($result1); $counter++) {
$data[] = $row;
}
if(!empty($\u POST['date'])){
$user\u date=$\u POST['date'];
}否则{
$user_date='';
}
回显“”;//等
回声';
foreach($行数据){
如果($row[0]=$user\u date){
回显“$row[1]-$row[0]”;
}
否则{
回显“$row[1]-$row[0]”;
}
}
回声';
请注意,如果
可以多次具有相同的值,则这将发出多个selected=“selected”
输出。在编写HTML服务器端时,您需要手动输出所选
上的selected
属性,我需要保留在列表中的值我无法检查每个值,因为每天我都会得到一个新值,我无法比较它@ljacqu i added action=”“我不需要页面刷新和更改下拉菜单上的值,除非我更改值并单击提交,否则我需要将值更改为我选择的值
if (!empty($_POST['date'])) {
$user_date = $_POST['date'];
} else {
$user_date = '';
}
echo '<form ...>'; // etc.
echo '<select name="date">';
foreach ($data as $row) {
if ($row[0] == $user_date) {
echo "<option value = '$row[0]' selected='selected'>$row[1] - $row[0]</option>";
}
else {
echo "<option value = '$row[0]'>$row[1] - $row[0]</option>";
}
}
echo '</select>';