Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.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
如何将HTML表单提交到PHP数组中_Php_Arrays_Multidimensional Array - Fatal编程技术网

如何将HTML表单提交到PHP数组中

如何将HTML表单提交到PHP数组中,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我已经浏览了这里的一些帖子,但仍然在努力让我的代码正常工作 我有一个动态创建的表单,所以我永远不知道它将有多少行,但列的数量是静态的。这是我当前的代码 echo '<form name = "confirmPlayers" enctype="multipart/form-data" action="page.php" method="POST">'; echo '<input type="hidden" name="confirm" value="1"/>';

我已经浏览了这里的一些帖子,但仍然在努力让我的代码正常工作

我有一个动态创建的表单,所以我永远不知道它将有多少行,但列的数量是静态的。这是我当前的代码

echo '<form name = "confirmPlayers" enctype="multipart/form-data" action="page.php" method="POST">';
    echo '<input type="hidden" name="confirm" value="1"/>';
    echo '<input type="hidden" name="pg_function" value="match"/>';
    echo '<table border = "1">';
    echo '<tr> <td colspan = "7"> <b>Matched Members</b></td> </tr>';
    echo '<tr> <td> Match </td> <td>Division</td> <td>Number</td> <td>Upload Number</td> <td>KDGA Name</td>  <td>Upload Name</td> <td>Score</td></tr>';

    while($row = mysql_fetch_array($result)){
        echo "<tr>";
        echo '<td> <input type="checkbox" name="match_chkBox[]" value="1" checked>';
        echo '<td> ' . $row['division'] . ' </td>';
        echo '<td> ' . $row['mplayer_number'] . ' </td>';
        echo '<td> ' . $row['tplayer_number'] . ' </td>';   
        echo '<td> ' . $row['mfirst_name'] . ' ' . $row['mlast_name'] . ' </td>';
        echo '<td> ' . $row['tfirst_name'] . ' ' . $row['tlast_name'] . ' </td>';
        echo '<td> ' . $row['score'] . ' </td>';
        echo "</tr>";
    }
    echo '<tr> <td>';
    echo '<input type="submit" value="Submit" />';
    echo '</td> </tr>';
    echo '</table> </form>';
<pre>
 $i=0;
 while($row = mysql_fetch_array($result)){
    $i++;
    echo "<tr>";
    echo '<td> <input type="checkbox" name="match_chkBox[$i]" value="'.$row['id'].'" checked>';
    echo '<td> ' . $row['division'] . ' <input type="hidden" name="division['.$i.']"> </td>';
    echo '<td> ' . $row['mplayer_number'] . ' <input type="hidden" name="mplayer_number['.$i.']"> </td>';
// and so on....
    echo "</tr>";
 }
</pre>
   echo"<input type='checkbox' name='match_chkBox[]' value=\"$row[unique_id]\" />";
echo';
回声';
回声';
回声';
回声“匹配成员”;
echo‘赛区号码上传号码KDGA姓名上传姓名分数’;
while($row=mysql\u fetch\u数组($result)){
回声“;
回声';
回显'.$row['division'].';
回显“.$row['mplayer_number']”;
回显'.$row['tplayer_number'].';
回显“.$row['mfirst_name'..”.$row['mlast_name'.]”;
回显'.$row['tfirst_name'].'.$row['tlast_name'].';
回显“.$row['score']”;
回声“;
}
回声';
回声';
回声';
回声';
我尝试了几种不同的方法来创建数组,但似乎造成了混乱。我基本上需要返回每个单元格的所有信息,以便传递到数据库进行进一步处理。我希望返回一个数组,为生成的表中的每个对应行返回一行,然后显示每个列的键/索引。现在如果我使用打印($_POST['match\u chkBox']);然后它将正确返回,并在提交之前检查了行数,但没有任何其他更改。。不太漂亮


非常感谢您能给予的任何帮助。。。这简直快把我逼疯了

尝试为值指定唯一id

echo '<td> <input type="checkbox" name="match_chkBox[]" value=value=\"".$row['id']."\"checked>';
echo';

如果我是你,我将只发布$row[id](由angel定义)并从数据库中获取php代码中的相应数据

但是,如果您想随身携带所有数据,只需执行以下操作


$i=0;
while($row=mysql\u fetch\u数组($result)){
$i++;
回声“;
回声';
回显'.$row['division'].';
回显“.$row['mplayer_number']”;
//等等。。。。
回声“;
}
在html表单中,由于选中了“仅发送到服务器”复选框,您可以使用以下代码检查用户选择


foreach($\u POST['match\u chkBox']作为$k=>$value){
$divi=除法[$k];
$mplay=mplayer_编号[$k];
//现在插入到数据库中。
}

希望这将有助于将复选框的值设置为该行的唯一键,在发布表单时,match_chkBox[]将包含唯一键

echo”“;

使用view source查看是否将每个行的值设置为该行的唯一\u id

您当前的html输出和预期的html输出是什么?我在收到答案后忘记对此进行评论。这让我走上了正确的道路。我最终使用jquery而不是上面的代码,但是将每个查询结果中的唯一列分配到生成的复选框的name和id属性中。
   echo"<input type='checkbox' name='match_chkBox[]' value=\"$row[unique_id]\" />";