将动态表单发布到db

时间:2012-01-25 21:57:11

标签: php javascript sql

我在项目中使用动态表单,每次调用新字段集时,输入字段的id增加1:

 <input type="text" id="billing_id1" />
 <input type="text" id="billing_id2" />

在处理器中我将如何提交所有数据,因为以下代码仅提交第一个字段集...

处理器:

$billing_id = empty($_POST['billing_id']) ? die ("ERROR: Billing ID was not submitted") : mysql_escape_string($_POST['billing_id']);

$connection = mysql_connect($mysql_server, $mysql_user, $mysql_pass) or die("Could not connect to database");

mysql_select_db($mysql_db) or ("Unable to select database");

$query = "INSERT INTO customer_contacts (billing_id) VALUES ('$billing_id')";

$result = mysql_query($query) or die ("ERROR: $query. ".mysql_error());

希望有人可以提供帮助,谢谢

3 个答案:

答案 0 :(得分:0)

如果您使用方括号:

<input type="text" id="billing_ids[]" />
<input type="text" id="billing_ids[]" />

您将获得一个数组而不是单个值

// $billing_ids == array('val1', 'val2');
foreach($billing_ids AS $id) {
    $query = "INSERT INTO customer_contacts (billing_id) VALUES ('$id')";
    $result = mysql_query($query) or die ("ERROR: $query. ".mysql_error());
}

答案 1 :(得分:0)

如果您在没有名为billing_id的字段时检查billing_id,则应收到错误消息。您可能会发现使用数组更容易。如果您在每个字段名称的末尾添加[],那么名为$_POST的每个元素都将是一个数组。然后你可以遍历每一个。

答案 2 :(得分:0)

<input type="text" id="billing_id[]" />
<input type="text" id="billing_id[]" />

然后在您的处理页面上:

foreach($_POST["billing_id"] as $key=>$value){
    mysql_query("INSERT INTO customer_contacts(billing_id) VALUES('".mysql_real_escape_string($_POST["billing_id"][$key])."')";
}
相关问题