2009-05-18 40 views
1

我發佈了一個有許多類似字段(artist1,artist2,.... artist20)的表單。我試圖將它們添加到數據庫中,但我不確定如何輕鬆獲取所有發佈的數據,而無需單獨寫出每個數據。我如何將一個int與一個字符串結合起來,這樣我就不必寫出每一個字符了?這是一個方法我試過沒有工作:收集來自相似領域的POST數據

for($i=0; $i <= 20; $i++) 
{ 
    $artist = $_POST['artist'.$i] 
} 

我也嘗試過(其中沒有工作):

for($i=0; $i <= 20; $i++) 
{ 
    $art = 'artist' . $i; 
    $artist = $_POST[ $art ]; 
} 

回答

5

可以命名用方括號和PHP的HTML元素將它們轉換成一個數組爲您提供:

<input type="text" name="artist[]" value="abc" /> 
<input type="text" name="artist[]" value="def" /> 
<input type="text" name="artist[]" value="ghi" /> 
<input type="text" name="artist[]" value="jkl" /> 
當您發佈的,這是什麼,你會在PHP中得到

print_r($_POST); 

/* array(
    artist => array(
     0 => "abc", 
     1 => "def", 
     2 => "ghi", 
     3 => "jkl" 
    ) 
) */ 

...至於讓他們進入數據庫,看到這個問題:insert two kinds of array in the same table

+0

好的。讓他們進入數組將工作完美!謝謝! – 2009-05-18 05:01:14