guguin
Messages postés3Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention27 février 2005
-
25 févr. 2005 à 17:45
JoJo738
Messages postés1267Date d'inscriptionmercredi 7 juillet 2004StatutMembreDernière intervention29 juin 2010
-
28 mai 2005 à 19:26
J'ai un formulaire avec plusieurs boutons. Je voudrais savoir s'il est possible de passer en paramètre (méthode POST) le nom du bouton sur lequel on a cliqué pour poster le formulaire uniquement en PHP.
voici un bout de mon script PHP :
<?php
mysql_select_db($Base_Nom,$Base_connection);
$Quest = mysql_query($MaRequete, $Base_connection) or die (mysql_error());
$MonTableau= mysql_fetch_assoc($Quest);
j'ai un formulaire avec plusieurs boutons. Je voudrais savoir s'il est possible de passer en paramètre (méthode POST) le nom du bouton sur lequel on a cliqué pour poster le formulaire uniquement en PHP.
guguin
Messages postés3Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention27 février 2005 26 févr. 2005 à 11:46
Tous dabords merci de m'avoir répondu, ça me fait très plaisir.
Alors voila ce que je désire faire.
En fait dans une étape ultérieur, je saisie des question. Ceux-ci sont numeroté de façon unique. Elle contienne également un libel qui est l'énnoncé de la question, et enfin la réponse a celle-ci.
Maintenant, je voudrait utiliser ces questions, mais de façon dynamique.
Donc je fait une requete qui utilise la table qui contient tous les enegistrement cocernant les questions. Et je les met dans un tableau.
Maintenant je crée une boucle qui va afficher tous les libels. Puis toujours dans cette boucle juste après les libels, je place un bouton submit. Il peut donc y avoir 6 questions avec 6 bouton submit, voire plus...
C'est maintenant que vient le probleme:
Je souhaite que ce nom soit dynamique, donc j'utilise mon tableau et utilise les numero.
Ainsi chaque bouton est unique.
Jusque la j'arrive la faire. En regardant le source de la page j'obtient bien tous cela.
Le but est maintenant de récuperer le bouton submit, mais seulement le nom, du submit, car il est unique.
Ensuite je n'aurait plus qu'a utiliser cela dans une requete avec un where pour afficher la réponse qui correspond a la question.
J'espère avoir été un pas trop confu.
Donc mon seul probleme est de récuperer le nom du submit.
Après de très nombreuses tentatives, je ne récupère toujours que le premier enregistrement.
J'ai également utiliser dèriere le submit un hidden, mais cela ne marche toujours pas.
Je vais mieux commanter mon script:
<?php
mysql_select_db($Base_Nom,$Base_connection); //j'utlise un autre fichier qui contient mes connections que j'utilise avec require_once
$Quest = mysql_query($MaRequete, $Base_connection) or die (mysql_error());
$MonTableau= mysql_fetch_assoc($Quest);//Je stocke ma requete dans un tableau.
//--------------Cette partie est utiliser que quand je clique sur le submit.
$i=1;
$max=6;//nombre de question maxi
for($i;$i<=$max;$i++)
{
if(isset($_POST[$MonTableau['quest_numero'].$i]))
{
$Recuperation= $_POST[$MonTableau['quest_numero'].$i];
echo $Recuperation;//Ici donc cela devrait afficher le nom du bouton, different pour chaque submit.
}
}
?>
//-----------------------------------------
<html>
<head>
</head>
<form name="bib" action="" method="POST">
<?php
do //Boucle pour afficher le libel de la question, le bouton submit et le hidden. Ainsi j'affiche en dynamique mes questions.
Il faut donc que je récupère le submit ou le hidden.
J'obtient un résultat, mais cela n'affiche que le premier enregistrement. Il faudrait par exemple si le nom du submit est deux que je récupère et affiche 2, pour le nom du submit si c'est 3...
{
echo $MonTableau['quest_libel']. "
";
}
while($MonTableau= mysql_fetch_assoc($Quest));
?>
Voila, si vous pouvez m'aider, car je bloque depuis 3 jour dessus.
Merci d'avance.
Et merci d'avoir prit la peine de vouloir m'aider.
guguin
Messages postés3Date d'inscriptionjeudi 13 janvier 2005StatutMembreDernière intervention27 février 2005 27 févr. 2005 à 16:55
C'est vrai que c'est un peu trop long mon explication, donc je vais condencer.
Donc pour résumer:
J'utilise et stocke des informations sur des questions par le biais d'une requete et d'un mysql_fetch_assoc.
Ensuite je cré une boucle qui affiche ces information, notamment le libel de la question. Toujours dans cette boucle et donc juste après ce libel je place un bouton submit. La particlarité de ce bouton submit est qu'il n'a pas un nom écris en "dur" mais en dynamique. C'est a dire qu'il fait référence a la base de donnée. Ce sont des chiffre donc unique pour bien les différencier.
Al'affichage tous vas bien, j'ai tous mes libel, et a chaque fois deriere un bouton submit ayant un nom différent.
Donc le hic:
Et bien quand je clique sur le bouton, il faudrait que je récupère ce fameux nom du bouton. Et non son value qui n'a que très peu d'inportance.
Si je pouvais le récupérer cela me servirais ensuite a faire une requete, dont ce nombre serais utilisé dans une requete avec un where pour afficher les réponse a cette questions.
Donc j'ai créé dans la récupération en method POST une boucle for, avec incrémentation, mais rien n'y fait. J'arrive tout au plus a récupérer le numero du premier bouton, en fait du premier enregistrement si ces bouton son très par un order by.
Je sais mon projet est un peu bizare, mais il me permet de n'écrire en fait très peu en "dur" dans le programme est donc de laisser la plus grande fléxibilité, quand au nombre de question de réponse.....