Jquery序列化和php插入数据库

时间:2012-02-23 00:41:19

标签: php jquery ajax

我有一个包含几行的表单,我试图将值插入数据库。我正在使用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
 }
 ?>

我只能打印出其中一个数组的值,而不是所有数组。

2 个答案:

答案 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());