我正在尝试提交表单。
表单选择一个任务,然后显示带有复选框的多行,并选择值1-10
如果选中复选框,则需要将select中的值添加到数据库中。
这是PHP代码
if(isset($_POST) && $_SERVER['REQUEST_METHOD'] = 'POST'){
if(isset($_POST['submita'])){
foreach($_POST['nota'] as $key => $value)
if (isset($_POST['boxes'])){
foreach($_POST['boxes'] as $key => $value2){
if(isset($value2)){
$nota = htmlent($_POST['nota']);
$box = htmlent($_POST['boxes']);
$task = htmlent($_POST['task']);
$db->insert(array(
"task" => $task,
"nota" => $value,
"box" => $value2,
),
"erp_notes");
}
else
{
echo 'Select';
}
}
}
}
}
HTML
<input type="checkbox" name="boxes[]" value="<?=$row['id'];?>"></input>
<?=$row['name'];?>
<select name="nota[]" >
<option value="">Select</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
我尝试了很多时间,但没有。
答案 0 :(得分:0)
当您if
时=
==
,submita
代表var_dump($_POST)
。
您尚未发布整个HTML,因此我必须假设其中有一个boxes
元素正在设置中。最好的办法是nota
查看您实际获得的内容,然后构建匹配的代码。
您的代码不正确,因为它会为每个if (isset($_POST['nota']))
{
for ($i = 0; $i < count($_POST['nota']); ++$i)
{
if (isset($_POST['boxes'][$i]))
$db->insert(array('task' => $task, 'nota' => $_POST['nota'][$i], 'box' => $_POST['boxes'][$i], 'erp_notes');
}
}
的每个{{1}}循环,当我怀疑您想要的只是选中与该元素对应的复选框时。
你可能想要更像这样的东西:
{{1}}