Fomulaire - boucle - récup d'info - PHP
Pillgrim
-
flokocha Messages postés 1519 Statut Membre -
flokocha Messages postés 1519 Statut Membre -
Salut a tous !
j'ai un petit souci. Je fais une application de gestion de QCM en PHP.
Il y a donc un certain nombre de questions et pour chaque questions un certain nombre de réponses.
Ma démarche est la suivante : l'utilisateur rentre ses parametres (nb question, nb reponse ...)
Ensuite je boucle pour afficher les numéros et j'ai un des cases textes via un formulaires qui demandent à l'utilisateur de de rentrer les intitulés de questions et de réponses.
MAIS le pb c'est que comme c'est une boucle comment je fait pour récupérer le "name" pour ensuite inséré les intitulés dans ma base.
J'ai pensé à faire un bouton validé a chaque fois mais c'est lourd. Voici mon code :
<?
if (!isset($fait))
{
echo "<form action='index.php?page=ajout_param_qcm&fait=on ' method='post' name='form1' target='_parent'>";
$i = 1;
while ($i <= $nombrequestion)
{
echo "<tr><td>";
echo "<br> Question n°$i ";
echo "<input name='intituleqst' type='text' id='intituleqst999' size='50' maxlength='30'><br>";
for ($j = 1; $j <= $nombrereponse; $j++)
{
echo "<br> Réponse n°$j ";
echo "<input name='intitulerep$j' type='text' id='intitulerep999' size='50' maxlength='30'>";
}
echo "<br><br>";
$i++;
echo "</td>";
echo "<td>";
echo "<br><input type='submit' name='Submit' value='Valider'>";
echo "</td></tr>";
}
}
?>
le $fait c'était pour ensuite ne plus affiché les questions déjà entrées (via une requete qui compte ce qui est fait).
Merci de votre aide
j'ai un petit souci. Je fais une application de gestion de QCM en PHP.
Il y a donc un certain nombre de questions et pour chaque questions un certain nombre de réponses.
Ma démarche est la suivante : l'utilisateur rentre ses parametres (nb question, nb reponse ...)
Ensuite je boucle pour afficher les numéros et j'ai un des cases textes via un formulaires qui demandent à l'utilisateur de de rentrer les intitulés de questions et de réponses.
MAIS le pb c'est que comme c'est une boucle comment je fait pour récupérer le "name" pour ensuite inséré les intitulés dans ma base.
J'ai pensé à faire un bouton validé a chaque fois mais c'est lourd. Voici mon code :
<?
if (!isset($fait))
{
echo "<form action='index.php?page=ajout_param_qcm&fait=on ' method='post' name='form1' target='_parent'>";
$i = 1;
while ($i <= $nombrequestion)
{
echo "<tr><td>";
echo "<br> Question n°$i ";
echo "<input name='intituleqst' type='text' id='intituleqst999' size='50' maxlength='30'><br>";
for ($j = 1; $j <= $nombrereponse; $j++)
{
echo "<br> Réponse n°$j ";
echo "<input name='intitulerep$j' type='text' id='intitulerep999' size='50' maxlength='30'>";
}
echo "<br><br>";
$i++;
echo "</td>";
echo "<td>";
echo "<br><input type='submit' name='Submit' value='Valider'>";
echo "</td></tr>";
}
}
?>
le $fait c'était pour ensuite ne plus affiché les questions déjà entrées (via une requete qui compte ce qui est fait).
Merci de votre aide
8 réponses
-
Et bien avant ton submit tu insères un champ caché qui transmettra le $j final, et ensuite dans ton script de traitement tu refais une boucle de 1 à $j pour traiter tous les intitulerep$j.
Par contre je crois que pour que cela marche tu devra déclarer ta variable $j une première fois avant la boucle sinon elle ne sera pas reconnue en dehors de la boucle, dans ton premier script. -
Merci je tente de le faire.
Mais je ne vois pas pourquoi ca marcherai avec un type champ caché? -
Ah alors je pense que je n'ai pas compris ton problème.
Ton insertion dans la base se fera dans un autre script ou dans celui-ci? -
Dans un autre.
Je pense voir ce que tu veux que je fasse mais c'est un peu flou.
Ca t'embeterai de me donner le script auquel tu penses?
Merci -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
Mais déjà cette ligne ne colle pas:
<form action='index.php?page=ajout_param_qcm&fait=on ' method='post' name='form1' target='_parent'>
Tu fais passer des variables via l'URL alors que tu utilises la méthode "post" !
De plus tu es obligé de donner un nom dynamique à tes questions comme tu l'as fait pour tes réponses, étant donné qu'elles se situent dans la boucle while. Je te conseillerais l'utilisation d'un tableau qui te permettra d'associer les réponses aux questions. -
Sinon pour répondre à ta question tu peux effectivement le faire dans la même page en utilisant la condition $fait.
-
Je sais que c'est pas tres logique mais en fait j'ai tjrs fait ca. Je met post et mes variables sont dans l'url. En fait je ne sais meme pas comment je ferai mes appli sans variables dans l'url.