[php] formulaire liste déroulante avc requete [Résolu/Fermé]

Signaler
Messages postés
18
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
10 avril 2009
-
Messages postés
18
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
10 avril 2009
-
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 ? :)

6 réponses

Messages postés
51
Date d'inscription
dimanche 25 mars 2007
Statut
Membre
Dernière intervention
21 juillet 2009
10
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,
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
889
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...
Messages postés
18
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
10 avril 2009

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
<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é)
Messages postés
5358
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
889 > Sen
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
Messages postés
51
Date d'inscription
dimanche 25 mars 2007
Statut
Membre
Dernière intervention
21 juillet 2009
10
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 !
Messages postés
9
Date d'inscription
lundi 1 octobre 2007
Statut
Membre
Dernière intervention
16 juin 2008

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.
Messages postés
51
Date d'inscription
dimanche 25 mars 2007
Statut
Membre
Dernière intervention
21 juillet 2009
10
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
Messages postés
18
Date d'inscription
samedi 1 décembre 2007
Statut
Membre
Dernière intervention
10 avril 2009

Oh jsuis trop bête !!

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

ca marche nickel !

a bientot
merci encore ;)