2013-05-18 40 views
-3

我想通過單擊一個按鈕在數據庫表中添加多個數據,我該怎麼做?同時在數據庫中添加多條記錄

<?php 

if(isset($_POST['add'])){ 

     $ins = "INSERT INTO informations(`cate_id` ,`location_id` , `name` ,`specialization` , `address` , `telephone` , `time`) VALUES(
    '".$_POST['category']."', 
     '".$_POST['location']."', 
    '".$_POST['name']."', 
    '".$_POST['specialization']."', 
    '".$_POST['address']."', 
    '".$_POST['telephone']."', 
    '".$_POST['time']."')"; 
    $do_ins = mysql_query($ins); 

    echo 'Insert done'; 

    } 

    ?> 
+0

@MahmoudGamal - 他的意思是插入例如兩行一個查詢 – ncm

+0

您是否在嘗試搜索此網站之前詢問此問題? – TheHippo

回答

2

這是MySQL多行插入語法的基本版本:

INSERT INTO mytable (field1, field2, field3) 
VALUES 
(value1, value2, value3), 
(value4, value5, value6) 

利用上述查詢,2行被插入: (value1, value2, value3)(value4, value5, value6)

- 編輯 - -

對於您的表單,您可以在表單輸入名稱中使用類似數組的語法將變量傳遞給數組中的PHP 。如果您使用的地點,你可以做這樣的事情:

<input type="text" name="locations[0][name]" /> 
<input type="text" name="locations[0][address]" /> 

<input type="text" name="locations[1][name]" /> 
<input type="text" name="locations[1][address]" /> 

以上投入將填寫以下$_POST$_GET條目:

$_POST['locations'][0]['name'] 
$_POST['locations'][0]['address'] 

$_POST['locations'][1]['name'] 
$_POST['locations'][1]['address'] 

正如你所看到的,這可以讓你使用循環遍歷每個位置。

$locations = array(); 
foreach($_POST['locations'] as $location) { 
    $fields = array_map('mysql_real_escape_string', $location); 

    $locations[] = "(\"{$fields['name']}\", \"{$fields['address']}\")"; 
} 

$insert = "INSERT INTO locations (name, address) VALUES " . implode(',', $locations); 
mysql_query($insert); 

你很可能要添加一些驗證代碼,以確保他們實際上是在所有的領域填充爲好。

+0

但我怎麼能插入很多由++和許多inbut字段? –

+0

謝謝你這是非常好的代碼。 –

+0

但是我非常抱歉,我想問一個問題......如何在添加新按鈕時按動態方式添加無限輸入域? –

相關問題