2010-10-28 75 views
0

我有一個很多textareas的表單。

<textarea cols="30" rows="6" id="q1"></textarea> 
<textarea cols="30" rows="6" id="q2"></textarea> 
<textarea cols="30" rows="6" id="q3"></textarea> 
... 
<textarea cols="30" rows="6" id="q54"></textarea> 

不要問爲什麼我們需要54個問題。

我想打印出來,但不想手動進行。

$i = 1; 
while ($i <= $countTextareas) { 
    $questID = "q" . $i; 

    $question = $_POST[$questID]; 

    echo "Question " . $i . ": " . $question . "<br />"; 

    $i++; 
} 

代碼的結果是:

Question 1: <br /> 

任何援助或在大方向上連一點將是巨大的。

在此先感謝。

它可能不是最完美的解決方案,但它的工作原理...

$i = 1; 
while ($i <= $countTextareas) { 
    $question = $_POST['question'][$i]; 
    echo "Question " . $i . ": " . $question . "<br />"; 
    $i++; 
} 

回答

1

由於您使用PHP,你應該利用PHP的轉向name屬性像question[]到一個數組中的漂亮的功能。

所以,如果你有一個...

<textarea name="question[]" rows="5" cols="5"> 
</textarea> 

<textarea name="question[]" rows="5" cols="5"> 
</textarea> 

$_POST會...

question[0] = 'whatever'; 
question[1] = 'something else'; 
+0

它其實不是一個PHP的Feauture嗎?我的意思是POST請求是someting [1] =「something」,something [2] =「someting else」,然後PHP將它作爲一個數組接收邏輯 – Hannes 2010-10-28 09:53:22

+0

邏輯,但它確實會自動創建數組。 – alex 2010-10-28 10:36:37

+0

這是否也可以使用id而不是名稱? – StefWill 2010-10-28 21:13:23

2

如何好老foreach

foreach ($_POST as $key => $value) { 
    echo 'Question '.$key.': '.$value.'<br />'; 
}