Création
d'entreprise
Posez votre question Signaler

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

Spectoo 18Messages postés 1 décembre 2007Date d'inscription - Dernière réponse le 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 ? :)
Lire la suite 

[php] formulaire liste déroulante avc requete »

9 réponses
Réponse
+0
moins plus
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,
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
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
Sen - 24 avril 2008 à 17:49
<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é)
Alain_42- 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
Ajouter un commentaire
Réponse
+0
moins plus
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 !
sanae_eljadida- 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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
Oh jsuis trop bête !!

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

ca marche nickel !

a bientot
merci encore ;)
Ajouter un commentaire
Ce document intitulé « [php] formulaire liste déroulante avc requete » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?