我有一个包含几行的表单,我试图将值插入数据库。我正在使用jquery序列化将ajax帖子发送到页面。此时,我迷失了如何在数组中正确发送值,以便我可以获取值。大约有10行具有相同的输入id' s。数量,价格,零件号。我将所有十个发送到php页面。我需要检索这十行并插入。任何帮助表示赞赏。这是代码。
<form id="form">
////These row repeat. Total of 10
<input name="PartQuantity[]" type="text" id="PartQuantity" size="2" />
<select name="PartType[]" id="PartType">
<input name="PartNumber[]" type="text" id="PartNumber" size="10" />
</form>
jquery的
<script>
$(document).ready(function(){
$('.showResults').live('click', function() {
var post = $('#form').serialize();
jQuery.ajax({
type: "POST",
url: "ajax/page_activity/forms/insert_parts.php",
data: post,
cache: false,
success: function(html)
{
alert(html)
}
});
});
});
</script>
php页面
<?php
$quantity_array = $_POST['PartQuantity'];
foreach ($quantity_array as $quantity)
{
///insert values
}
?>
我只能打印出其中一个数组的值,而不是所有数组。
答案 0 :(得分:1)
你的代码一切都很好。
如果您无法正确获取值,请考虑拼写错误,包括您的答案,真实数据,真实错误或提供更多调试信息,jquery版本等,如下面的print_r($ _ POST):
Array
(
[PartQuantity] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
[PartType] => Array
(
[0] => 1
[1] => 2
[2] => 1
)
[PartNumber] => Array
(
[0] => 1
[1] => 2
[2] => 3
)
)
答案 1 :(得分:0)
$query = '';
for ($i = 0; $i < count($_POST['PartQuantity']);$i++){
$query .= "(".mysql_real_escape_string($_POST['PartQuantity'][$i]).",".mysql_real_escape_string($_POST['PartType'][$i]).",".mysql_real_escape_string($_POST['PartNumber'][$i])."),";
}
$query = substr($query,0,strlen($query) - 1); //STRIP LAST COMMA
$result = mysql_query("insert into <TABLE> (partquantity,parttype,partnumber) VALUES $query") or die(mysql_error());