[php] formulaire liste déroulante avc requete

Résolu/Fermé
Spectoo Messages postés 18 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 10 avril 2009 - 24 avril 2008 à 16:50
Spectoo Messages postés 18 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 10 avril 2009 - 25 avril 2008 à 11:59
Bonjour,

Voilà je suis confronté à un probleme dans le cadre de la récupération de données d'une liste déroulante ...

Je sais le faire avec une liste normal (utilisation de method="post") seulement la c'est particulier ; le select étant utiliser sur une page "modifier.php", il y a un while dans mes options ... voici le code tout moche :

<select name="numgroupe">

<?php
$index = mysql_query ("SELECT * FROM table");
while($boucle = mysql_fetch_array($index2))
{ ?>
<option value="<?php $boucle['numtoto'] ; ?>" <? if ($boucle['numtoto']==$titi) { echo selected ;} ?> >
<?php echo $boucle['nomtoto'] ;?></option>
<?php } ?>

</select>

Ce select me permet d'afficher automatiquement les "options" ainsi que celle qui correspond à la personne à modifier. Mais voilà lors de l'enregistrement apres modification, la base enregistre tout mais le select ne me renvoi aucune valeur.

Quel crac sera capable de débloquer mon problème ? :)
A voir également:

6 réponses

Terraforgeur Messages postés 51 Date d'inscription dimanche 25 mars 2007 Statut Membre Dernière intervention 21 juillet 2009 10
24 avril 2008 à 16:58
Pourrais tu expliquer ton problème plus en détail avec un peu plus de code stp ?
Parce que pour l'instant je ne sais :
- Ni le problème
- Ni ce que tu veux faire et/ou afficher

Cordialement,
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
24 avril 2008 à 17:00
Salut

une petite erreur à mon avis:

$index = mysql_query ("SELECT * FROM table");
while($boucle = mysql_fetch_array($index2))

pourquoi $index2 ?? alors que tu fais ta requette avec $index

et mets des noms de variables plus appropriées

$reponse = mysql_query ("SELECT * FROM table");
while($ligne = mysql_fetch_array($reponse ))

$ligne['....']

etc...
0
Spectoo Messages postés 18 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 10 avril 2009
24 avril 2008 à 17:07
ok excusez moi ...

alors en fait pour j'ai modifier le code pour faire un truc standard plus compréhensible mais ca n'a pas marché alors voici le code exactement comme je l'ai écrit :

<form name="form1" method="post" action="update_personne.php">

...blablabla...

<select name="numgroupe">

<?php
$index2 = mysql_query("SELECT * FROM groupes");


while($boucle = mysql_fetch_array($index2))
{
?>
<option value="<?php $boucle['numgroupe'] ;?>" <? if ($boucle['numgroupe']==$numgroupe) { echo selected ;} ?> ><?php echo $boucle['nomgroupe'] ;?></option>
<?php
} ?>
</select>

</form>

donc voila : ce code est sur une page pour modifier les informations d'une personne ; quand je valide, ca envoi a ce fichier :

<?php

$numperso=addslashes($_POST['numperso']);

$nom=addslashes($_POST['nom']);

$prenom=addslashes($_POST['prenom']);

$adresse=addslashes($_POST['adresse']);

$cp=addslashes($_POST['cp']);

$ville=addslashes($_POST['ville']);

$j=addslashes($_POST['j']);

$m=addslashes($_POST['m']);

$a=addslashes($_POST['a']);

$datenaiss=$a."-".$m."-".$j ;

$numgroupe=addslashes($_POST['numgroupe']);

$nomsupp=addslashes($_POST['nomsupp']);

$prenomsupp=addslashes($_POST['prenomsupp']);

$adressesupp=addslashes($_POST['adressesupp']);

$cpsupp=addslashes($_POST['cpsupp']);

$villesupp=addslashes($_POST['villesupp']);

$utiliser=addslashes($_POST['distri']);

$date=date("Y-m-d");

include "../config.php" ;

mysql_query("update personnes set nom='$nom',prenom= '$prenom', adresse='$adresse', cp= '$cp', ville='$ville',datenaiss='$datenaiss', numgroupe='$numgroupe',
nomsupp='$nomsupp', prenomsupp='$prenomsupp', adressesupp='$adressesupp', cpsupp='$cpsupp', villesupp='$villesupp', utiliser='$utiliser' where numperso='$numperso'");
mysql_close();
?>

<html>
<head>
<title></title>
<META http-equiv="refresh" content="2; URL=../index.php">
<meta name="generator" content="Namo WebEditor v5.0(Trial)">
</head>
<body>
<center>L'enregistrement a été bien effectuée...</center>
</body>
</html>

et bien entendu cela doit tout enregistrer (ou plutot updater) dans la base de données ; seulement tout est updater mais le numgroupe n'envoi aucune information (j'ai essayé de mettre un echo pour comprendre ce qu'il renvoyait comme donnée mais il ne renvoi absolument rien)

j'espere avoir été plus precis :)
et merci de votre interet
0
<option value="<?php $boucle['numgroupe'] ;?>" <? if ($boucle['numgroupe']==$numgroupe) { echo selected ;} ?> ><?php echo $boucle['nomgroupe'] ;?></option>

Là où j'ai mis en gras, est-ce qu'il ne faudrait pas plutôt mettre: <?php echo $boucle['numgroupe']; ?> ?
Après tout ça a beau ne pas être directement affiché à l'écran, il s'agit quand même d'écrire dans le code HTML de la page, donc il me semble que le echo est nécessaire ... (Mais je dis ça sans avoir testé)
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894 > Sen
24 avril 2008 à 19:22
Oui effectivement il faut echo dans

<option value="<?php echo $boucle['numgroupe'] ;?>" <? if ($boucle['numgroupe']==$numgroupe) { echo selected ;} ?> ><?php echo $boucle['nomgroupe'] ;?></option>


pour dire à php d'écrire la valeur de la variable

Ensuite dans ta deuxieme page appelée, après avoir fait lePDATE, il faudrait que tu fasses une nouvelle requette

SELECT* FROM personnes WHERE where numperso='$numperso'

si tu veux afficher le résultat de ton Update
0
Terraforgeur Messages postés 51 Date d'inscription dimanche 25 mars 2007 Statut Membre Dernière intervention 21 juillet 2009 10
24 avril 2008 à 17:54
Re, moi j'ai testé et le problème ne vient pas de la !

Il vient du fait que la variable en question n'est pas passé par la méthode post car il manque un attribut !!
Je pense que dans les options pas du select mais dans option il faut rajouter l'option id :

<option id="numgroupe">


Après je sais pas si ca fonctionne !
0
sanae_eljadida Messages postés 9 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 16 juin 2008
24 avril 2008 à 18:11
salut.dans le meme cadre j'ai une petite demande a vous faire.
d'abord je prépare un pojet de gestion avec php mysql, j'ai fait les interfaces statiques avec HTML et mnt je dois travailler sur les requetes en php."""je suis une debutante=je ferai ce genre de chose pour la premiere fois."""
le probleme: je ferai quoi(le code) pour avoir au moment de la saisie d'un nom + prénom ,le remplissage de tte la formulaire cvd que il suffi dentrer le nom prenom pour avoir de la base de donné les autre attributs(adresse, tél...).
merci pour votre temps et excusez moi pour le derangement.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Terraforgeur Messages postés 51 Date d'inscription dimanche 25 mars 2007 Statut Membre Dernière intervention 21 juillet 2009 10
24 avril 2008 à 18:14
Ben tu fais un select en php mais il faut passer par une autre page...
Si tu veux le faire en instantané faut passer par du javascript je crois
0
Spectoo Messages postés 18 Date d'inscription samedi 1 décembre 2007 Statut Membre Dernière intervention 10 avril 2009
25 avril 2008 à 11:59
Oh jsuis trop bête !!

merci bcp les amis ; j'avais complètement zappé le truc.

ca marche nickel !

a bientot
merci encore ;)
0