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 :

probleme requete sql/php [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut probleme requete sql/php
    bonjour a tous
    voila mon soucis j'ai un formulaire d'inscription en php ou dedan j'ai 2 champs un menu deroulant (option) avec tous les pays et un autre champ(text) qui recupere l'indicatif du pays ex: France=33
    l'ors de l'execution de ma requette au lieu de m’insérer France il l’insert 33 je ne comprend pas je suis novice dans le SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $res = mysql_query("select * from pays where id = '".$_POST['pays']."' ") or die(mysql_error());
    echo $res;
    dans ma table pays j'ai 3 colonnes id, pays, indicatif
    j'ai fais le trie par l'id car il y a des double sur indicatif par exemple la canada et le états unis commence par 1

    merci pour votre aide

  2. #2
    Membre régulier
    Homme Profil pro
    Etudiant
    Inscrit en
    Octobre 2011
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 305
    Points : 115
    Points
    115
    Par défaut
    Citation Envoyé par lumbroso Voir le message
    bonjour a tous
    voila mon soucis j'ai un formulaire d'inscription en php ou dedan j'ai 2 champs un menu deroulant (option) avec tous les pays et un autre champ(text) qui recupere l'indicatif du pays ex: France=33
    l'ors de l'execution de ma requette au lieu de m’insérer France il l’insert 33 je ne comprend pas je suis novice dans le SQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $res = mysql_query("select * from pays where id = '".$_POST['pays']."' ") or die(mysql_error());
    echo $res;
    dans ma table pays j'ai 3 colonnes id, pays, indicatif
    j'ai fais le trie par l'id car il y a des double sur indicatif par exemple la canada et le états unis commence par 1

    merci pour votre aide
    Je ne comprend pas, c'est quoi le rapport entre l'insertion et la requête que tu fais ?

  3. #3
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut
    je ne comprend pas de quel insertion tu parles
    je veux simplement faire une requette qui me donne le nom du pays au lieu d'un chiffre je vous donne en gros la structure
    ______________________________________
    id | indicatif | pays
    ______________________________________
    1 | 33 | France
    2 | 32 |belgique
    3 | 41 |suisse

    lors de ma requette je veux que quand je selectionne pays c'est france et non pas 1 qui soit pris en ciompte
    merci

  4. #4
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    A mon avis, il nous faut le code de la liste déroulante et la requête d'insertion. Sinon, on ne pourra pas t'aider.

  5. #5
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Bien que je pense que tu t'es trompé dans la requête que tu nous donnes, lorsque tu dis:
    l'ors de l'execution de ma requette au lieu de m’insérer France il l’insert 33
    Ta requête d'insertion doit être bonne, c'est ton select qui n'est pas complet il faut bien récupérer le nom, là tu as sauté une étape.

    D'ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $res = mysql_query("select * from pays where id = '".$_POST['pays']."' ") or die(mysql_error());
    $row = mysql_fetch_assoc($res);
    // $row['nom'] contiendra ce que tu souhaites pour l'insert
    Ceci est un ex, regardes dans le manuel php.

    Petite remarque, il faut éviter le 'select *' faire plutôt un select des champs que nous désirons.
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  6. #6
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Points : 1 031
    Points
    1 031
    Par défaut
    salut ; tu parle d'insertion et tu donne requête de sélection !!!!
    sur le plan modélisation faut inséré le code de la localité au lieux du nom et avec une requête de jointure avec la table localité t'aura le nom.

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut Redoran,

    salut ; tu parle d'insertion et tu donne requête de sélection !!!!
    Je pense que sa requête d'insert est bonne et il a bien vu que c dans le select que ça ET d'ailleurs il lui manque la méthode por récupérer la bonne donnée.

    sur le plan modélisation faut inséré le code de la localité au lieux du nom et avec une requête de jointure avec la table localité t'aura le nom.
    Regardes la structure de sa table, elle est correcte et simple avec un code d'indicatif et un nom donc ya rien à dire là dessus
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  8. #8
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut
    le contenu des pays se trouve dans une table pays

  9. #9
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Donnes nous le code correspondant:

    Aux requêtes (select et insert)
    Au html de la liste déroulante
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  10. #10
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut
    voila ce qu'il y a sur le fichier pays.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $res = mysql_query('select * from pays') or die(mysql_error());
     
     
    while($data = mysql_fetch_assoc($res))
    {
    	echo '<option value="'.$data['id'].'" class="'.$data['indicatif'].'" >'.$data['pays'].'</option>';
     
    }
    ?>
    et voila comment je rempli la combo
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <select name="pays" id="pays" class="inputform" onchange="setind();" >
    					<?php include('includes/pays.php'); ?>
     
    					</select>

  11. #11
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    D'après ton code, le $_POST['pays'] de ta requête SQL contient bien le bon id et ensuite tu continues ta requête comme tu avais commencé ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $res = mysql_query("select indicatif, pays from pays where id = '".$_POST['pays']."' ") or die(mysql_error());
    $row = mysql_fetch_assoc($res);
    while ($row = mysql_fetch_assoc($res)) {
        echo $row['indicatif'];
        echo $row['pays'];
        // ta requête d'insertion
    }
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  12. #12
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut
    bonsoir meme avec cette requette lq valeur retournee est 33 au lieu de france je ne comprend rien au secours... je suis perdu
    merci

  13. #13
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Tu en es ou au niveau du code, tu peux nous donner le dernier contenant la partie html du select, la prtiee php du select et de l'insertion, merci.

    Sinon, la requête tu l'as essayé sur phpMyadmin ?
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  14. #14
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut
    je fourni ci-joint le code complet des deux pages inscription et presentation en esperant que je vais enfin trouver une sol
    merci a tous
    Fichiers attachés Fichiers attachés

  15. #15
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut
    personne n'aurai une reponse a me donner svp je suis dans une galere
    merci

  16. #16
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    remplace dans presentation.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<br/> Voici les données que vous avez saisie.<br/>';
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    echo '<br/> Voici les données que vous avez saisie.<br/>';
    print_r($_POST);
    exit;
    Vérifie ce que tu récupères à la soumission de ton formulaire.
    Est-ce que tout est correct ?

    Après au niveau syntaxique, utiliser class="..." pour passer l'indicatif n'est vraiment pas approprié, il vaut mieux utiliser data-ind="..."
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while($data = mysql_fetch_assoc($res)) {
        echo 
    <<<HTML
    <option value="{$data['id']}" data-ind="{$data['indicatif']}">{$data['pays']}</option>
    HTML;
    }
    et le js :
    Code js : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function setind() {
        $('#indicatif').val( $('#pays option:selected').attr('data-ind') ) ;
    }

  17. #17
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut
    je dois mettre ou le code java script a la suite?

  18. #18
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    Je t'ai mis la fonction js adapté à l'usage de data-ind="...", donc elle remplace ta fonction js précédente.

  19. #19
    Membre régulier Avatar de lumbroso
    Inscrit en
    Décembre 2003
    Messages
    239
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Décembre 2003
    Messages : 239
    Points : 79
    Points
    79
    Par défaut
    je suis vraiment dessole je suis vraiment débutant pouvez vous me dire pas a pas ou je dois mettre le code je suis perdu j ai que des erreur merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.0] Probleme requete SQL et PHP
    Par superstarz dans le forum Langage
    Réponses: 3
    Dernier message: 25/04/2011, 18h49
  2. probleme requete SQL
    Par grochenel dans le forum Langage SQL
    Réponses: 7
    Dernier message: 12/12/2005, 09h26
  3. [MySQL] Requete SQL PHP
    Par CaptainChoc dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 22/10/2005, 16h13
  4. [MySQL] probleme requete sql et php
    Par digger dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/10/2005, 14h15
  5. probleme requete sql
    Par Shosho dans le forum Langage SQL
    Réponses: 12
    Dernier message: 03/05/2005, 09h25

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