[php] formulaire liste déroulante avc requete

Résolu
Spectoo Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
Spectoo Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   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,
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
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   Statut Membre Dernière intervention  
 
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
Sen
 
<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   Statut Membre Dernière intervention   894 > 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
0
Terraforgeur Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   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 !
0
sanae_eljadida Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   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
0
Spectoo Messages postés 18 Date d'inscription   Statut Membre Dernière intervention  
 
Oh jsuis trop bête !!

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

ca marche nickel !

a bientot
merci encore ;)
0