Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 表单提交2个数组_Php_Html - Fatal编程技术网

Php 表单提交2个数组

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 (

我正试图提交一份表格

表单是选择一个任务,然后用复选框显示几行,并用值1-10进行选择

若选中复选框,则需要将“选择”中的值添加到数据库中

这是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


挑选
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>