我有一个非常基本的页面,每天显示每五分钟(12:00,12:05,12:10等)。每次下一个下拉列表<select>
,数字为1-9。 <select>
的名称是它对应的时间的名称。用户选择其中一个数字,转到下一个,选择一个数字等,直到它们到达底部并点击提交。
在数据库表中,每天的每个时间都有自己的行,另一个字段用于数字。
如何提交此表单并根据一天中的时间将数字插入正确的行?出于某种原因,我无法绕过这个问题。我甚至不需要进行验证。这不是一个真实的网站。
答案 0 :(得分:2)
我认为select的名称应该是times[]
,值应该是时间。
所以在php中你可以遍历times[]
数组并得到与其值对应的行。然后相应地更新计数。
<select name="times[]" multiple>
<option value="19:00">1</option>
<option value="19:05">2</option>
</select>
在php伪造的代码中
foreach ($_GET['times'] as time) {
*sanatize
select row where time = time
update count
}
答案 1 :(得分:0)
假设你有一个这样的表:
MyValues
TimeOfDay varchar(50),
Value int
您发布的表单数据如下所示:
?19:00=1&19:05=2
您将遍历每个已发布的表单字段,并使用每个字段的键和值生成如下更新语句:
foreach($_POST as $key => $value)
{
update MyValues set Value = $value where TimeOfDay = $fieldName
}
答案 2 :(得分:0)
似乎@ dm03514是不错的选择,但更倾向于使用$_POST
而不是$_GET
,并且在此过程中你可以这样做
for($=0;$i<count($_POST['times']);$i++){
#do some action with $_POST['times'][$i]
}