如何插入动态帖子数组php?

Posted

技术标签:

【中文标题】如何插入动态帖子数组php?【英文标题】:How to insert dynamic post array php? 【发布时间】:2015-10-25 06:43:07 【问题描述】:

很抱歉,这很难解释,但我会尽我所知。

我有多个带有自定义条件的输入帖子,自定义条件意味着可以尽可能多。

html

<input name="type[]" value="type 1">
    <input name="var[]" value="Var 1">
    <input name="var[]" value="Var 2">
    <input name="var[]" value="Var 3">
<input name="type[]" value="type 2">
    <input name="var[]" value="Var 1 for type 2">
    <input name="var[]" value="Var 2 for type 2">

对于输入名称 type[] 可以通过 JQuery 自定义添加,对于 var[] 也可以添加,但是如果添加了 var[],它将作为数组插入在类型[]

我想用这个数组结果将该值序列化到数据库

Array ( 
[0] => Array ( 
    [type 1] => Array ( 
        [0] => Array ( 
            [menu_name] => var 1
        ) 
        [1] => Array ( 
            [menu_name] => var 2
        ) 
        [2] => Array ( 
            [menu_name] => var 3
        ) 
    ) 
) 
[1] => Array ( 
    [Type 2] => Array ( 
        [0] => Array ( 
            [menu_name] => Var 1 for type 2
        )
        [1] => Array ( 
            [menu_name] => Var 2 for type 2
        )
    ) 
) 
)

但问题是,我不完全知道使用 $_POST 语法插入该数组的逻辑,因此结果将与上面的数组结果一样

【问题讨论】:

试过嵌套for循环? 你应该改变html结构。 @phplover 但如何将值 var[] 移动到 type[] 数组下? Vars 输入名称改为type[var] 【参考方案1】:

只需在输入名称中添加大括号 []

<input name="type[0]" value="type 1">
<input name="type[0][var][]" value="Var 1">
<input name="type[0][var][]" value="Var 2">
<input name="type[0][var][]" value="Var 3">
<input name="type[1]" value="type 2">
<input name="type[1][var][]" value="Var 1 for type 2">
<input name="type[1][var][]" value="Var 2 for type 2">

编辑

$types = $_POST['type'];
$types[0]['var'][1];

【讨论】:

顺便说一句,如何获得该职位价值?对于类型 = $_POST['type']; var = $_POST['var'];我不确定 var 你好我试过了,结果是我错过了类型值,我打印了结果它显示除了类型值之外的所有内容,我使用 $variable = serialize($_POST['type'] );插入数据库,我错了吗? 第一个类型值是$_POST['type'][0],因为$_POST['type'] 是一个数组【参考方案2】:

你需要这个 HTML 结构来发布你想要的数据:

<input name="type[1][var][1]" value="type 1 var 1">
<input name="type[1][var][2]" value="type 1 var 2">
<input name="type[1][var][3]" value="type 1 var 3">
<input name="type[2][var][1]" value="type 2 var 1">
<input name="type[2][var][2]" value="type 2 var 2">

【讨论】:

当然。如果有任何问题,请告诉我们。 你的答案很好,但最完整的答案在上面,谢谢

以上是关于如何插入动态帖子数组php?的主要内容,如果未能解决你的问题,请参考以下文章

PHP如何动态为多维数组的子数组分别添加元素

使用foreach从动态post数组插入sql

PHP 表单使用动态输入插入数据数组

具有动态索引的 PHP 数组

php数组和链表有什么区别

如何使用 Monk 在 MongoDB 中插入带有子文档数组元素的文档