PHP中的多重选择-如何编辑数据?
很容易创建一个表单,允许用户选择多个值,然后获取输入的数据。我想知道的是如何根据数据库中的信息重新创建表单?编辑数据PHP中的多重选择-如何编辑数据?,php,forms,select,Php,Forms,Select,很容易创建一个表单,允许用户选择多个值,然后获取输入的数据。我想知道的是如何根据数据库中的信息重新创建表单?编辑数据 <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> <select name="test[]" multiple="multiple"> <option value="one">one</option> <option value="two
<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>
最简单的处理方法是在数组中存储有效的表单值
$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>";
}
}
foreach($hourList作为$hour)
{
如果($hour==$enteredValue)
{
回音“{$hour}”;
}否则
{
回音“{$hour}”;
}
}
如果您接受多个选择,您可能希望查看\u array()
中的,而不是直接比较。对于提供“每个月/天/年”选项的情况,只需在使用范围后将其预先添加到数组中即可 如何在数据库中“存储有效的表单值”?我想我明白了理论,但实际上如何?如果结果是数组格式的,并且在数据库中,我如何能够搜索所有相等的数据,比如13h45?我是否应该将可搜索的数据保存在一个单独的表中?