2015-02-09 95 views
0

我有一個這樣的表單。我想將表格保存在ajax中,主要內容是 這裏輸入的數據將插入到2行中。 1爲產品a,另一種爲b。php將數據插入兩行數組

(a和b是該產品的名稱也將被保存爲A和B在產品名稱欄)

<form class="product-data" action=""> 
    <table> 
     <tr class="data-row"> 
      <td> 
       <input type="number" name="finance[a_source_unit]" > 
      </td> 
      <td > 
       <input type="number" name="finance[a_target_unit]"> 
      </td> 
      <td> 
       <input type="number" name="finance[a_client_price]"> 
      </td> 
      <td> 
       <input type="number" name="finance[a_client_salary]" > 
      </td> 
    </tr> 
    <tr class="data-row"> 
     <td> 
      <input type="number" name="finance[b_source_unit]" > 
     </td> 
     <td > 
      <input type="number" name="finance[b_target_unit]"> 
     </td> 
     <td> 
      <input type="number" name="finance[b_client_price]"> 
     </td> 
     <td> 
      <input type="number" name="finance[b_client_salary]" > 
     </td> 
    </tr> 
    </table> 
</form> 

我的數據庫是這樣

id product_name source_unit target_unit client_price client_salary 

所以我做了我這樣的阿賈克斯

var Table = $(this).closest('.product-data'); 
var data = Table.serializeArray(); 
data.push({name: 'action', value: 'save_product_data' }); 
$.post(ajaxUrl, data, function(msg) { 
    console.log(msg); 
}); 

在save_product_data函數我有這樣的數據

function save_product_data() { 
    $finance = $_POST['finance']; 
    print_r($finance); 
} 

的數據來這樣

Array 
(
    [a_source_unit] => 3213 
    [a_target_unit] => 123 
    [a_client_price] => 34278 
    [a_client_salary] => 7584 
    [b_source_unit] => 3213234 
    [b_target_unit] => 1234 
    [b_client_price] => 34275438 
    [b_client_salary] => 75854  

) 

所以基本上我想,對於一個值將連續插入和b將另一行插入。

+0

你幾乎在那裏,只需在你的''save_product_data()''function http://www.w3schools.com/php/php_mysql_insert.asp – AgeDeO 2015-02-09 14:54:03

+0

中添加兩個插入查詢。我知道如何保存數據。我想知道如何將它們放在兩行中。 – NewUser 2015-02-09 14:55:17

+2

您可以使用多維數組,如:表單文件中的'finance [b] [client_salary]':)創建分隔查詢會更容易 – 2015-02-09 14:55:39

回答

0

如果你使用像這樣的形式:

<form class="product-data" action=""> 
    <table> 
     <tr class="data-row"> 
      <td> 
       <input type="number" name="finance[a][source_unit]" > 
      </td> 
      <td > 
       <input type="number" name="finance[a][target_unit]"> 
      </td> 
      <td> 
       <input type="number" name="finance[a][client_price]"> 
      </td> 
      <td> 
       <input type="number" name="finance[a][client_salary]" > 
      </td> 
    </tr> 
    <tr class="data-row"> 
     <td> 
      <input type="number" name="finance[b][source_unit]" > 
     </td> 
     <td > 
      <input type="number" name="finance[b][target_unit]"> 
     </td> 
     <td> 
      <input type="number" name="finance[b][client_price]"> 
     </td> 
     <td> 
      <input type="number" name="finance[b][client_salary]" > 
     </td> 
    </tr> 
    </table> 
</form> 

你必須在你$_POST陣列這樣的事情,你就只需要使用一個foreach按行插入行:

array 
    'finance' => 
    array 
     'a' => 
     array 
      'source_unit' => string '5' (length=1) 
      'target_unit' => string '5' (length=1) 
      'client_price' => string '5' (length=1) 
      'client_salary' => string '5' (length=1) 
     'b' => 
     array 
      'source_unit' => string '1' (length=1) 
      'btarget_unit' => string '1' (length=1) 
      'bclient_price' => string '1' (length=1) 
      'client_salary' => string '1' (length=1)