2010-10-28 5 views
0

J'ai un formulaire avec beaucoup de 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> 

Ne demandez pas pourquoi nous avons besoin de 54 questions.

Je veux les imprimer mais je ne veux pas le faire manuellement.

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

    $question = $_POST[$questID]; 

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

    $i++; 
} 

Le résultat de ce code est:

Question 1: <br /> 

Toute aide ou même un point dans la direction générale serait génial.

Merci d'avance.

Il ne peut pas être la solution la plus élégante, mais il fonctionne ...

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

Répondre

1

Puisque vous utilisez PHP, vous devez exploiter PHP fonctionnalité intéressante de transformer un attribut de nom comme question[] dans un tableau.

Donc, si vous aviez ...

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

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

Votre $_POST serait ...

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

ce n'est pas vraiment un PHP Feauture est-ce? Je veux dire que la requête POST est quelque chose [1] = "quelque chose", quelque chose [2] = "quelque chose d'autre" que PHP reçoit alors comme un tableau juste logique – Hannes

+0

Bien logique, mais cela fait automatiquement le tableau. – alex

+0

Est-ce que cela fonctionnerait aussi avec un identifiant au lieu du nom? – StefWill

2

Que diriez-vous bon vieux foreach?

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