Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.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-尝试创建一个复选框数组,_Php_Mysql_Arrays - Fatal编程技术网

PHP-尝试创建一个复选框数组,

PHP-尝试创建一个复选框数组,,php,mysql,arrays,Php,Mysql,Arrays,我试图从通过while循环创建的多个复选框中创建一个数组。复选框名为“删除[1]”、“删除[2]”等。 我尝试过的数组语句如下: $toDelete = array($_POST['to_delete']); $toDelete = array($_POST['to_delete'][]); 为了验证是否存在数组,我转到“打印”,但发现它是空的print\r($toDelete)。我做错了什么? 代码如下。是的,我正在按程序进行此操作,然后将以OOP的形式重新编写。 非常感谢您在这方面的帮助

我试图从通过while循环创建的多个复选框中创建一个数组。复选框名为“
删除[1]
”、“
删除[2]
”等。 我尝试过的数组语句如下:

$toDelete = array($_POST['to_delete']);
$toDelete = array($_POST['to_delete'][]);
为了验证是否存在数组,我转到“打印”,但发现它是空的
print\r($toDelete)
。我做错了什么? 代码如下。是的,我正在按程序进行此操作,然后将以OOP的形式重新编写。 非常感谢您在这方面的帮助

$showQ = "SELECT * FROM urls";
$result = mysql_query($showQ);
$numRows = mysql_num_rows($result);
$row = mysql_fetch_array($result);

if(!$result) {
    mysql_error();
   } else {
  echo "<form action='".$_SERVER["PHP_SELF"]."' method='post'>";
  $i=0;
  while($row = mysql_fetch_array($result)) {
    echo "<input type='text' class='manId' name='manId[]' value=" . $row['id'] . " />";
echo "<input type='text' class='url' name='url[]' value=" . $row['url'] . " />";
echo "<input type='checkbox' name='to_delete[" .$i. "]' /><br/>\n";
$i++;
}
echo "<input type='submit' value='delete' name='submit'  />";
echo "</form>";
}
$toDelete = array($_POST['to_delete[]']);
print_r($toDelete);
$showQ=“从URL选择*”;
$result=mysql\u查询($showQ);
$numRows=mysql\u num\u行($result);
$row=mysql\u fetch\u数组($result);
如果(!$result){
mysql_error();
}否则{
回声“;
$i=0;
while($row=mysql\u fetch\u数组($result)){
回声“;
回声“;
回显“
\n”; $i++; } 回声“; 回声“; } $toDelete=数组($_POST['to_delete[]'); 印刷费($toDelete);

最后,我要遍历数组,查看选中了哪些数组,然后从表中删除相应的行。

您不希望使用
array()
调用创建数组,而是希望访问一个数组
$\u POST
将接收以
[]
结尾的输入名称作为数组,因此
$\u POST
中相应的数组键将已经是数组。按照编写代码的方式,您正在分配一个单元素数组,其中包含
$\u POST
中的子数组。相反,请尝试以下操作:

// Test if $_POST['to_delete'] is set and non-empty
// If it's empty, create an empty array, otherwise assign it to $toDelete
$toDelete = empty($_POST['to_delete']) ? array() : $_POST['to_delete'];
print_$($toDelete);
从print_r($_POST)开始,查看是否传输了任何内容,然后更新您的问题。当您打印_r($_POST[“to_delete”]”)时会发生什么?