如何自动存储多个输入

时间:2018-06-19 10:39:22

标签: javascript php jquery mysql

假设我的页面上有这样的部分:

<div style="padding-top:10px;" id="message2">                   
<p>More Links: <span class="fa fa-plus add"></span></p>
<div class="appending_div">
    <div class="blog_links">
        <p class="blog_linku_1">
            Link URL 1: <input type="text" name="blog_linku_1[]"> &nbsp; Link Name 1:  <input type="text" name="blog_linkn_1[]">
        </p>
    </div>
</div> 

它基本上包含两个输入字段,其中一个名为blog_linku_1[]作为博客链接URL,另一个作为博客链接名称blog_linkn_1[]

正如您所看到的,我添加了一个加号( + ),用于添加多个输入,就像这两个输入一样。

可以执行此操作的脚本在此处:

$(document).ready(function() {
    var i = 2;
    $('.add').on('click', function() {
        $('<p class="link'
            + i
            + '">Link URL ' 
            + i
            + ': <input type="text" name="blog_linku_'
            + i
            + '[]"> &nbsp; Link Name '
            + i
            + ':  <input type="text" name="blog_linkn_'
            + i
            + '[]">&nbsp;<span class="fa fa-minus minus" id="minus'
            + i
            + '"></span></p>'
        ).appendTo('.appending_div');
        i = i+1;
    });

    $('.appending_div').on('click.remove', '.minus', function () {
      $(this).parent().remove();
    });
})  

如果你在这里提到,它只会添加名为

的输入字段

name="blog_linku_'+ i+ '[]"name="blog_linkn_'+ i+ '[]"在新的段​​落标记中。

现在我的问题是,如何将这些输入字段存储到db中?

我的意思是因为我不知道用户想要插入表中的输入字段数,我无法调整任何变量。

所以如果你知道答案,请告诉我。我真的很感激你们的任何想法或建议。

提前致谢

1 个答案:

答案 0 :(得分:0)

长答案很短,你需要使用关系表。有关Implementation for tag based mail system by JOINS using MySQL Database的更多信息。处理这种多重数据的另一种方法是使用JSON fields。您可以为单个字段提供可变数量的数据,并且可以使用json_decode()函数在PHP中解析它。

存储时,使用json_encode()将其存储为编码的JSON:

$json = json_encode($_POST["blog_linku_1"]);

当你解码它时,你可以使用:

将它作为PHP中的数组获得
$arr = json_decode($row["blog_linku_1"], true);

这个选项对你来说听起来更好吗?请在评论中告诉我,如果没有,我可以指导您在此处实施... :)