首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP从form传递和接收二维数组

PHP从form传递和接收二维数组
EN

Stack Overflow用户
提问于 2012-04-17 04:01:04
回答 1查看 8.9K关注 0票数 2

我尝试将两个成对的变量、一个类别及其id从一个webform传递给一个文件进行处理。我想让它们保持链接,这样如果有人更改了name字段,我们就可以清楚地知道他们正在更改什么记录,因为这个记录是通过id链接到其他表的。

最初尝试的二维array...have放弃了这种方法。现在尝试按照下面的建议使用两个一维数组。我使用数组,因为表单上的条目数量取决于用户创建了多少类别。类别表具有id(int)、cat(文本)和userid(int)字段

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

代码语言:javascript
运行
复制
//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);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-04-17 04:06:01

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

代码语言:javascript
运行
复制
  <input type="text" name="cat[]" value="cat1">
  <input type="text" name="cat[]" value="cat2">
    ...

在接收猫的同时;

代码语言:javascript
运行
复制
echo $_POST['cat'][0] // echoes cat1
echo $_POST['cat'][1] // echoes cat2

进一步的例子;

根据这个定义,

代码语言:javascript
运行
复制
<input type="text" name="cat[$cat][$id]" value="cat1">

foreach ($_POST['cat'] as $a=>$b){
    // $a == $cat
    foreach($b as $c=>$d) {
       // $c == $id
    }
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10180810

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档