假设我的页面上有这样的部分:
<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[]"> 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
+ '[]"> Link Name '
+ i
+ ': <input type="text" name="blog_linkn_'
+ i
+ '[]"> <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中?
我的意思是因为我不知道用户想要插入表中的输入字段数,我无法调整任何变量。
所以如果你知道答案,请告诉我。我真的很感激你们的任何想法或建议。
提前致谢
答案 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);
这个选项对你来说听起来更好吗?请在评论中告诉我,如果没有,我可以指导您在此处实施... :)