IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème $_POST Liste Deroulante


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Par défaut Problème $_POST Liste Deroulante
    Bonjour étant débutant en php j'ai quelque problèmes

    J'essaye de récupérer la valeur d'une liste déroulante préalablement renseignée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    				<p>Choisissez un Client: </p>
    				<select name="listeclient" id="listeclient" width="300px" onchange="recharge()">
    				<?php
    				$resultat=mysql_query("SELECT client.cli_nom, client.cli_adr, client.cli_cp, client.cli_ville, client.cli_tel  from client inner join clientfournisseur on client.cli_cpt = clientfournisseur.cli_cpt where clientfournisseur.fou_cpt = 1") or die ("requète non executé");
    				if (! $resultat) { echo "Erreur requete"; exit;} 
    				while ($ligne=mysql_fetch_array($resultat))
    				{
    				?>
    				<option><?php echo ''.$ligne['cli_nom'].'';?> </option>
    				<?php
    				}
    				mysql_close($connexion);
    				?>
    				</td>
    				<td width="400px">
    				<?php
    				$connexion=mysql_connect('localhost','root',"") or die ("connexion impossible.");
    				$db=mysql_select_db('gestionprix',$connexion) or die ("base de données non accessible");
    				$cli = "";
    				if (isset($_POST['listeclient']))
    				{
    					$cli = $_POST['listeclient'];
    				}
    				$resultat=mysql_query("SELECT client.cli_nom, client.cli_adr, client.cli_cp, client.cli_ville, client.cli_tel  from client where client.cli_nom = '.$cli'") or die ("requète non executé");
    				$ligne=mysql_fetch_array($resultat)
    				?>
    				<p>Adresse : <?php echo $ligne['cli_adr'];?></p>
    				<p>Code postal : <?php echo $ligne['cli_cp'];?></p>
    				<p>Ville : <?php echo $ligne['cli_ville'];?></p>
    				<p>Telephone : <?php echo $ligne['cli_tel'];?></p>
    				<?php
    				mysql_close($connexion);
    				?>
    Cette instruction ne me retourne rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    				if (isset($_POST['listeclient']))
    				{
    					$cli = $_POST['listeclient'];
    				}
    Avez vous une idée de ce que cela peut être ?

    De plus j'ai un problème avec la gestion de variables
    Si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $hote = "localhost";
    $login = "root";
    $mdp = "";
    $connexion=mysql_connect($hote,$login,$mdp) or die ("connexion impossible.");
    Cela ne passe pas pourtant cela est bien renseigné

    Merci

  2. #2
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    C'est normal il faut que tu transmette un valeur à chaque option.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="<?php echo $ligne['cli_nom'];?>"><?php echo '$ligne['cli_nom'];?> </option>
    Tu remarqueras que j'ai aussi corriger la partie en rouge.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Par défaut
    Oui ca parai logique
    Après avoir remplacer la ligne même résultat
    Rien ne s'affiche

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Par défaut
    la valeur de la listé déroulante n'est pas récupérer par la $_post

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    144
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 144
    Par défaut
    Ton <form> est bien en "post" ?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <form action="fournisseur.php" method="post">
    </form>
    J'ai ces balises qui entourent le tout

  7. #7
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    un petitdevrait peut être t'aider.

    Qu'est que cela donne ?

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Par défaut
    ca me donne


    Array ( )

  9. #9
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Je viens de voir que ta balise <select> n'est pas refermée </select>

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Par défaut
    que signifie ce
    Array ( )
    ?

  11. #11
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Cela signifie que la valeur que tu affiche est un tableau et que dans ce cas il ne contient rien.
    As tu fermé la balise SELECT ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Par défaut
    oui mais cela ne change rien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
     
    				<p>Choisissez un Client: </p>
    				<form action="fournisseur.php" method="post">	
    				<select name="listeclient" id="listeclient" width="300px" onchange="recharge()">
    				<?php
    				$resultat=mysql_query("SELECT client.cli_nom, client.cli_adr, client.cli_cp, client.cli_ville, client.cli_tel  from client inner join clientfournisseur on client.cli_cpt = clientfournisseur.cli_cpt where clientfournisseur.fou_cpt = 1") or die ("requète non executé");
    				if (! $resultat) { echo "Erreur requete"; exit;} 
    				while ($ligne=mysql_fetch_array($resultat))
    				{
    				?>
    				<option value="<?php echo $ligne['cli_nom'];?>"><?php echo $ligne['cli_nom'];?> </option>
    				<?php
    				}
    				mysql_close($connexion);
    				?>
    				</select>
    				</td>
    				<td width="400px">
    				<?php
    				$connexion=mysql_connect('localhost','root',"") or die ("connexion impossible.");
    				$db=mysql_select_db('gestionprix',$connexion) or die ("base de données non accessible");
    				$cli = "";
    				print_r($_POST);
    				if (isset($_POST['listeclient']))
    				{
    					$cli = $_POST['listeclient'];
     
    				}
    				$resultat=mysql_query("SELECT client.cli_nom, client.cli_adr, client.cli_cp, client.cli_ville, client.cli_tel  from client where client.cli_nom = '$cli'") or die ("requète non executé");
    				$ligne=mysql_fetch_array($resultat)
    				?>
    				<p>Adresse : <?php echo $ligne['cli_adr'];?></p>
    				<p>Code postal : <?php echo $ligne['cli_cp'];?></p>
    				<p>Ville : <?php echo $ligne['cli_ville'];?></p>
    				<p>Telephone : <?php echo $ligne['cli_tel'];?></p>
    				<?php
    				mysql_close($connexion);
    				?>
    				</form>
    MAJ du code

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 8
    Par défaut
    J'ai eu le même problème que toi il y a deux jours.

    Essaye de changer les apostrophes par des guillemets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_POST["listeclient"]))
    				{
    					$cli = $_POST["listeclient"];
    				}
    Si jamais cela fonctionne, quelqu'un pourrait-il expliquer la raison parce que ce problème m'a fait m'arracher mes cheveux!

  14. #14
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut

    Je crois que je viens de comprendre ce qu'il t'arrive.

    As tu créé une fonction Javascript qui s'appelle recharge() ?
    Si non voici d'ou viens ton problème. Le formulaire n'est jamais soumis !!!

    Donc pour résoudre, 2 solutions:
    1/Soit tu ajoute un bouton submit en fin de formulaire comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    </select>
    <input type="submit">
    </form>
    2/ ou alors tu remplace ta fonction par

  15. #15
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Citation Envoyé par Vorjb Voir le message
    J'ai eu le même problème que toi il y a deux jours.

    Essaye de changer les apostrophes par des guillemets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_POST["listeclient"]))
    				{
    					$cli = $_POST["listeclient"];
    				}
    Si jamais cela fonctionne, quelqu'un pourrait-il expliquer la raison parce que ce problème m'a fait m'arracher mes cheveux!
    A mon avis ton problème venais d'ailleurs.

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 8
    Par défaut
    En fouillant sur divers forum, j'ai vu ça avec une pseudo explication que je ne saurais remettre ici.

    Je n'étais pas convaincue, mais bizarrement, après cette modification (aucune autre en même temps), le script fonctionnait et insérait un enregistrement dans ma table.

    Peut-être effectivement que ce n'est pas cette modification qui a résolue mon problème.

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 128
    Par défaut
    Merci Riete
    Le problème venais bien de onchange="submit()"
    Maintenant cela met bien a jour les différent champs.
    Il y a juste un problème de comportement de la liste déroulante
    Elle reprend la valeur "1" automatiquement après avoir sélectionner une autre valeur

  18. #18
    Membre Expert Avatar de riete
    Homme Profil pro
    DevWeb - Oléiculteur
    Inscrit en
    Avril 2006
    Messages
    1 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : DevWeb - Oléiculteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 193
    Par défaut
    Citation Envoyé par gueguenk Voir le message
    Merci Riete
    Le problème venais bien de onchange="submit()"
    Maintenant cela met bien a jour les différent champs.
    Il y a juste un problème de comportement de la liste déroulante
    Elle reprend la valeur "1" automatiquement après avoir sélectionner une autre valeur
    Si tu veux comprendre pourquoi la liste prends la valeur 1 regarde un peu le code source qui est généré pour le navigateur, depuis celui-ci.
    Content que cela fonctionne. @+

Discussions similaires

  1. [AC-2003] Problème code liste deroulante
    Par Ardiden31 dans le forum VBA Access
    Réponses: 6
    Dernier message: 30/03/2012, 10h25
  2. Probléme de liste deroulante
    Par lenormand3006 dans le forum IHM
    Réponses: 2
    Dernier message: 14/08/2008, 12h52
  3. Réponses: 9
    Dernier message: 25/10/2007, 16h20
  4. Problème liste deroulante
    Par alas70 dans le forum Langage
    Réponses: 2
    Dernier message: 20/02/2007, 16h40
  5. [JSP]Problème liste deroulante dynamique
    Par besco dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 09/09/2004, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo