2011-05-07 18 views
0

PHP支持:構造的形式輸入的多維數組

<input type=text name=array[]> 

...和所有的值都只是張貼陣列英寸我想爲多維度做同樣的事情?數組,但是我在嘗試提取數據時略有損失。

我有一組問題,大多數有一個答案(單選按鈕),但有些是多響應(複選框)。我希望能夠將所有答案存儲在一個多維數組中,因此它可能看起來像這樣:

問題1 |回答|
問題2 |回答|
問題3 |回答|
問題3 |回答|
問題3 |回答|
問題4 |回答|

所以,我這樣做:

<input name="response['q1'][]" type=text value=''> 
<input name="response['q2'][]" type=text value=''> 
<input name="response['q3'][]" type=text value=''> 
<input name="response['q3'][]" type=text value=''> 

現在,我怎麼去存儲到我的MySQL數據庫提取這些數據。我一直在玩foreach,但是當情況是這樣的時候,對於一個問題有多個答案(q3讓我說),我無法在我的循環中獲取這些數據。

+1

like this:「response [$ question_id] [$ response_id]」使解析更容易 – peufeu 2011-05-07 15:50:21

回答

0

嘗試離開報價遠(NAME = 「響應[Q3] []」),然後循環使用foreach($_POST['response']['q3'] as $key => $value) { echo $value."\n"; }

foreach($_POST['response'] as $question => $answer) { 
    if(count($answer) > 1) { 
    foreach($answer as $key => $value) { 
     //loop your multiple answers here 
    } 
    } elseif(count($answer) == 1 { 
    // 1 answer found for $_POST['response'][ $question ]; 
    } else { 
    // no answer found.. (perhaps $_POST['response'][ $key ] is a value and no array. 
    } 
} 

我想這是你在找什麼。

+0

對不起,我認爲我誤導了,我展示的代碼僅僅是一個例子,以顯示該場景實際上可能與我的實際的代碼。我不知道哪些問題會有多個答案。所以我想我想要做的是將q id作爲一個值與實際的文本答案一起使用,而不是一個關鍵字。 – buymypies 2011-05-07 15:27:30

+0

如果它有多個計數($ _ POST ['response'] ['q3'])將大於1,否則它有1個(或0)答案..見我上面的編輯。 – 2011-05-07 15:47:52