很容易创建一个表单,允许用户选择多个值,然后获取输入的数据。我想知道的是如何根据数据库中的信息重新创建该表单?即编辑数据。
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<select name="test[]" multiple="multiple">
<option value="one">one</option>
<option value="two">two</option>
<option value="three">three</option>
<option value="four">four</option>
<option value="five">five</option>
</select>
<input type="submit" value="Send" />
</form>
<?php
$test=$_POST['test'];
if ($test){
foreach ($test as $t){echo 'You selected ',$t,'<br />';}
}
?>
在原始数据中选择值2和foru。如何重新创建表单以编辑数据,如下面的代码:
<form action="<?=$_SERVER['PHP_SELF']?>" method="post">
<select name="test[]" multiple="multiple">
<option value="one">one</option>
<option selected value="two">two</option>
<option value="three">three</option>
<option selected value="four">four</option>
<option value="five">five</option>
</select>
<input type="submit" value="Send" />
</form>
最初我希望添加和编辑代码能够正常工作。最后,我希望能够在表单中输入各种多个选项并进行编辑。
答案 0 :(得分:-1)
最简单的处理方法是将有效的表单值存储在数组中。
$hourList = range(1, 24);
然后在打印时遍历数组
foreach($hourList as $hour)
{
if ($hour == $enteredValue)
{
echo "<option selected value=\"{$hour}\">{$hour}</option>";
}else
{
echo "<option value=\"{$hour}\">{$hour}</option>";
}
}
如果您接受多项选择,您可能需要查看in_array()
而不是直接比较。对于您提供“每月/每日/每年”选项的情况,只需在使用范围后将其添加到数组中。