PhP SQL 处理表单上的 'Add More' 选项
PhP SQL handling an 'Add More' option on a form
如果我有一个用户可以选择添加额外字段的表单,我对应该如何处理它感到困惑。例如
HTML
<input name="provider_name" type="text" />
<button class="add-more">Add Provider</button>
Javascript / jQ
var addtlCounter = 0;
$(".add-more").click(function(e){
e.preventDefault();
addtlCounter++;
$(this).before('<input name="provider_name_' + addtlCounter + '" type="text" />');
})
显然,如果只有一个 provider_name 我可以
INSERT INTO MyTable(value) VALUES ($_POST["provider_name"])
但是根据用户点击添加供应商的次数,我会得到一个未知数provider_name_*
。
关于我何时处理此表格的任何建议,我可以告诉他们添加了多少额外的提供者并相应地插入。
使用 HTML 个数组。
<input name="provider_name[]" type="text" />
<button class="add-more">Add Provider</button>
然后,在你的 PHP.
foreach($_POST["provider_name"] as $provider)
{
echo $provider;
}
编辑:
要有两个相关的字段,您可以在一个数组中有一个数组,但必须对名称进行索引。因此:
<input name="providers[1][name]" type="text" />
<input name="providers[1][number]" type="text" />
<input name="providers[2][name]" type="text" />
<input name="providers[2][number]" type="text" />
<input name="providers[3][name]" type="text" />
<input name="providers[3][number]" type="text" />
<input name="providers[4][name]" type="text" />
<input name="providers[4][number]" type="text" />
<input name="providers[5][name]" type="text" />
<input name="providers[5][number]" type="text" />
这将导致这个数组:
array(1) {
["providers"]=>
array(5) {
[1]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
[2]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
[3]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
[4]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
[5]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
}
}
如果我有一个用户可以选择添加额外字段的表单,我对应该如何处理它感到困惑。例如
HTML
<input name="provider_name" type="text" />
<button class="add-more">Add Provider</button>
Javascript / jQ
var addtlCounter = 0;
$(".add-more").click(function(e){
e.preventDefault();
addtlCounter++;
$(this).before('<input name="provider_name_' + addtlCounter + '" type="text" />');
})
显然,如果只有一个 provider_name 我可以
INSERT INTO MyTable(value) VALUES ($_POST["provider_name"])
但是根据用户点击添加供应商的次数,我会得到一个未知数provider_name_*
。
关于我何时处理此表格的任何建议,我可以告诉他们添加了多少额外的提供者并相应地插入。
使用 HTML 个数组。
<input name="provider_name[]" type="text" />
<button class="add-more">Add Provider</button>
然后,在你的 PHP.
foreach($_POST["provider_name"] as $provider)
{
echo $provider;
}
编辑:
要有两个相关的字段,您可以在一个数组中有一个数组,但必须对名称进行索引。因此:
<input name="providers[1][name]" type="text" />
<input name="providers[1][number]" type="text" />
<input name="providers[2][name]" type="text" />
<input name="providers[2][number]" type="text" />
<input name="providers[3][name]" type="text" />
<input name="providers[3][number]" type="text" />
<input name="providers[4][name]" type="text" />
<input name="providers[4][number]" type="text" />
<input name="providers[5][name]" type="text" />
<input name="providers[5][number]" type="text" />
这将导致这个数组:
array(1) {
["providers"]=>
array(5) {
[1]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
[2]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
[3]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
[4]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
[5]=>
array(2) {
["name"]=>
string(0) ""
["number"]=>
string(0) ""
}
}
}