Php 表单提交2个数组
我正试图提交一份表格 表单是选择一个任务,然后用复选框显示几行,并用值1-10进行选择 若选中复选框,则需要将“选择”中的值添加到数据库中 这是PHP代码Php 表单提交2个数组,php,html,Php,Html,我正试图提交一份表格 表单是选择一个任务,然后用复选框显示几行,并用值1-10进行选择 若选中复选框,则需要将“选择”中的值添加到数据库中 这是PHP代码 if(isset($_POST) && $_SERVER['REQUEST_METHOD'] = 'POST'){ if(isset($_POST['submita'])){ foreach($_POST['nota'] as $key => $value) if (
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
挑选
2.
3.
4.
5.
6.
7.
8.
9
10
我尝试了很多次,但什么也没有。在第一次
如果你有=
当你指=
时
你还没有发布整个HTML,所以我不得不假设那里有一个submita
元素正在被设置。您最好的选择是执行var\u dump($\u POST)
以查看实际获得的内容,然后构建与之匹配的代码
您的代码不正确,因为它在每个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');
}
}
if(isset($\u POST['nota']))
{
对于($i=0;$iinsert(数组('task'=>$task,'nota'=>$\u POST['nota'][$i],'box'=>$\u POST['box'][$i],'erp\u notes');
}
}
我被编辑为cod,但工作方式与第一个答案中的注释类似
PHP
if(isset($\u POST)&&$\u服务器['REQUEST\u METHOD']=='POST'){
如果(isset($_POST['nota']))
{
对于($i=0;$iinsert(数组)(
“nota”=>$\u POST['nota'][$i],
“日期”=>时间(),
“box”=>$\u POST['box'][$i],
“任务”=>$task
),
“erp_注释”);
}
}
}
HTML
选择1234
我使用您的cod并工作50%。现在只为复选框插入每个nota,但只插入一次。例如,Box1-nota 1和2;box2-nota 5、7和8;box3-7和9。现在,在DB中需要7行,这只是脚本arange nota和框,所以,框1-2-3和nota 1-2-5-7-8-7-9和Box1=nota1;box2=nota2,box3=nota5 nota7-8-9的boxid=0
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');
}
}
if(isset($_POST) && $_SERVER['REQUEST_METHOD'] == 'POST'){
if (isset($_POST['nota']))
{
for ($i = 0; $i < count($_POST['nota']); ++$i)
{
if (isset($_POST['boxes'][$i]))
$task = htmlent($_POST['task_id']);
$db->insert(array(
"nota" => $_POST['nota'][$i],
"date" => time(),
"box" => $_POST['boxes'][$i],
"task" => $task
),
"erp_note");
}
}
}
HTML
<form class="grid_12" action="" method="post" enctype="multipart/form-data">
<input type="checkbox" name="boxes[]" value="<?=$row['id'];?>"></input><?=$row['box_name'];?>
<select name="nota[]" multiple><option value="">select</option><option value="1">1</option><option value="2">2</option><option value="3">3</option><option value="4">4</option></select>
<input name="task" type="text" value="<?=$row['task_id'];?>" style="display:none;">
</form>