PHP从表单传递和接收二维数组

标签 php forms multidimensional-array

我试图将两个成对的变量、一个类别及其用于多个用户创建的类别的 id 从网络表单传递到文件进行处理。我想让它们保持链接,这样如果有人更改名称字段,我们就清楚他们正在更改什么记录,因为该记录通过 id 链接到其他表。

最初尝试过二维数组...已放弃该方法。现在尝试按照下面的建议使用两个一维数组。我将使用数组,因为表单上的条目数量取决于用户创建的类别数量。类别表有 id(int)、cat(text) 和 userid(int) 字段

传递两个数组的困难在于如何链接这两个数组。如果我将类别作为数组传递到接收页面,我可以迭代值以生成 sql 语句来更改每个条目。但是,我不知道如何获得识别记录所需的正确 ID。如果我在 foreach(catsarray as $val) 中使用 foreach($idarray as $id) ,我将为每只猫获得多个 id。如何与遍历 cats 同步遍历 ids?非常感谢您的帮助,因为我现在已经花了两天时间:(

//I am working with $catsarray and $idarray, each with identical indexes, 1,2,3 etc.
//How do I get appropriate id for each cat
foreach($catsarray as $val) {
$sql = "UPDATE cats, set name = $val WHERE (userid ='$userid' AND id=??????)";
mysql_query($sql);
}

最佳答案

创建二维数组的良好且单一的语法;

  <input type="text" name="cat[]" value="cat1">
  <input type="text" name="cat[]" value="cat2">
    ...

接收猫时;

echo $_POST['cat'][0] // echoes cat1
echo $_POST['cat'][1] // echoes cat2

进一步的例子;

根据这个定义,

<input type="text" name="cat[$cat][$id]" value="cat1">

foreach ($_POST['cat'] as $a=>$b){
    // $a == $cat
    foreach($b as $c=>$d) {
       // $c == $id
    }
}

关于PHP从表单传递和接收二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10180810/

相关文章:

ruby-on-rails - 在 rails form_for 标签标签中嵌套 HTML <span>?

c++ - 高性能 C++ 多维数组

c - 使用 MPI 为多维数组动态分配内存

javascript - jQuery Ajax - 错误响应

javascript - 将 CSS "display: none;"更改为所示

javascript - 防止在单击按钮时提交表单时重新加载页面

php - 根据表jquery中的数据填充多维数组

javascript - WinSCP 刷新 PHP 代码库?如何使用 XMLHttpRequest 发送文件后刷新服务器

多个域的 PHP Cookie

php - Laravel 文件上传验证不会触发 - TokenMismatchException