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 :

Difficile de récupérer l'id correspondant


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Difficile de récupérer l'id correspondant
    Je cherche a récupérer l'id d'une table X via une liste déroulant pour ensuite l'injecter dans une table Y. Sauf que quand je sélection dans la liste ca envoi toujours le dernier ID de la table X dans le champs de la table Y.

    Ex:

    j'ai un


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // ...
    while($row= mysql_fetch_array($sql))
    {
        echo '<option value="' . $row[lid] . '">' .$row['nom_personne'] . '</option>';
    }
    // ...
    <bouton ajouter>
    Une fois selectionne je clic ajouter qui envois dans une autre page ou une requete sql insert dnas la table Y, sauf que dans le champs ID que je recupere y a toujours le dernier ID de la table X. Comme si la boucle fonctionnait pas, je vois pas du tout le probleme.


    Des idees?

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Salut,

    tu peux déjà faire 2 choses:
    - vérifier si ta liste est bien remplie en affichant la source.
    - un echo de ta requête d' INSERT.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Oui effectivement, j''affiche sur la page qui fait l'insert le numero ID, il affiche toujours le dernier ID de la table.

    De plus, si il affiche le ID, je presuppose que dans le formulaire du menu deroulant l'ID est prelever puisqu'il est affiche dans le script qui insert via une variable pour voir l'ID justement.. Mais ici pourquoi le dernier, et pas celui en rapport a mon choix dans la liste deroulante?

    C'est pas la premiere fois que j'ecris du code qui recupere via une liste deroulante et transmet a une autre page (par exemple une liste de pays a choisir) afin que l'info soit inserer dans une autre table, mais ici c'est l'ID, un champs numerique, est-ce si different?

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 277
    Points : 11 733
    Points
    11 733
    Par défaut
    déjà, il te manque les apostrophes autour de lid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo '<option value="' . $row['lid'] . '">' .$row['nom_personne'] . '</option>'; }
    ou, plus simplement avec une chaîne interprétée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo "<option value='$row[lid]'>$row[nom_personne]</option>"; }
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci Antoun, mais votre code n'envoi rien du tout dans la liste deroulante, mais ne genere pas de message d'erreur.


    J'envoi le code tel quel, ce code envoi bien dans la liste deroulante, mais il envoi le dernier ID sur la page de l'insert. J'ai place une variable sur l'id pour voir e numero d'id envoye.

    Merci pour les reponses.


    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
    <form action="page.php" method="post">
    <?php
    echo '<select name="bc_client_num">';
    echo '<option value="" selected="selected">Choisissez un nom de client</option>';
     
    $query = mysql_query("select * from table");
    while($data = mysql_fetch_array($query))
    {
        echo  '<option value="' . $data['cl_id'] . '">'  . $data['cl_prenom'] .  '</option>';
    }
    echo '</select><br />';
    ?>
     
    <input type="hidden" name="cl_id" value="<?php echo $cl_id; ?>">
    <input type="submit" value="Envoyer">
    </form>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Points : 585
    Points
    585
    Par défaut
    Donne aussi le code de la page où tu fais l'insertion.

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/07/2011, 17h21
  2. Récupérer le VALUE correspondant au NAME d'un INPUT
    Par AMaXOnLine dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/05/2009, 09h12
  3. Réponses: 4
    Dernier message: 06/10/2008, 17h27
  4. "group by" : récupérer le champ correspondant au min
    Par stade dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/06/2008, 00h26

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