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 :

MySQL/PHP insertion de données avec clé étrangere dans un formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut MySQL/PHP insertion de données avec clé étrangere dans un formulaire
    Bonsoir,

    Dans une base de données mysql. j'ai deux tables. L'une (table B) est liée à l' autre (table A) via une foreign key (un ID).

    Via PHP, je souhaiterai insérer des données dans la table B. j'ai créé un formulaire avec du html et du php.

    Par contre il me manque la partie liée dans ce formulaire à la foreign Key. Comment réunir sur la même page, le formulaire d'insertion des données de B, et savoir à quoi correspond l'ID dans la table A ?

    merci pour votre retour.

    Apprentioracle

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Une solution simple est d'ajouter à ton formulaire une liste déroulante qui permet de sélectionner l'élément de A qui sera le "parent" de ton nouvel élément B.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Citation Envoyé par Celira Voir le message
    Une solution simple est d'ajouter à ton formulaire une liste déroulante qui permet de sélectionner l'élément de A qui sera le "parent" de ton nouvel élément B.
    Salut. Ok c'est ce que j'avais fait dans un premier temps. Mais comme, l'element de A est un ID, tu ne sais pas à quoi (ou a qui) il correspond finalement.

    En tout cas merci pour ta réponse.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Normalement, les éléments de A existent avant que tu créées le nouvel élément B. Donc tu peux lire la base pour lister les éléments de A et d'en servir pour alimenter ta liste déroulante.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    En fait ce que j'aimerai faire c'est mettre dans une liste deroulante, les ID de la table A, et qu'à coté, en fonction de l'id choisi, on puisse voir apparaitre dans des inputs "grisés" le nom et le prenom.

    Mais je ne sais pas si c'est possible de faire cela en php.

  6. #6
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je ne comprends pas bien ton problème : tu construis ta liste déroulante en utilisant l'id comme valeur à transmettre et le nom comme libellé, et Hop ! c'est bon.
    Peut-on voir ton essai de formulaire avec la liste déroulante ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  7. #7
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    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
    <select name="selenf">
    <?php
    try
    {
    	$bdd= new PDO('mysql:host=localhost;dbname=test;charset=latin1','*****','****');
    }
    catch (Exception $e)
    {
    	die('Erreur : ' . $e->getMessage());
    }
    $reponse = $bdd->query('SELECT idenf,nomenf,prenomenf FROM t_enfants');
     
    while ($donnees = $reponse->fetch())
    {
    ?>
    <option> <?php echo $donnees['idenf'];?></option>
     
    <?php	
    }
     
    ?></select>
    <input type="text" name="nomenf" value="<?php echo $donnees['nomenf'];?>"/><BR>
    <input type="text" name="pernomenf" value="<?php echo $donnees['prenomenf'];?>"/><BR>
     
    <INPUT type="submit" value="Valider"/>
     
    <?php
    $reponse->closecursor();
    ?>
     
    </FORM>

  8. #8
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    je pense avoir trouvé

    merci à toi pour ton aide

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    while ($donnees = $reponse->fetch())
    {
    ?>
    <option value=<?php echo $donnees['idenf'];?>> <?php echo $donnees['idenf'] . $donnees['nomenf'];?></option>
     
    <?php	
    }

  9. #9
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    C'est exactement ce que je voulais dire
    Au passage, n'oublie les quotes autour de la valeur de l'option :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option value="<?php echo $donnees['idenf'];?>"> <?php echo $donnees['idenf'] . $donnees['nomenf'];?></option>
    (et un petit clic sur le bouton Résolu si tout fonctionne)
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  10. #10
    Membre régulier
    Inscrit en
    Février 2005
    Messages
    208
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 208
    Points : 92
    Points
    92
    Par défaut
    Merci encore

    Citation Envoyé par Celira Voir le message
    (et un petit clic sur le bouton Résolu si tout fonctionne)
    Ca fonctionne bien donc je pense en resolu.

    A+

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

Discussions similaires

  1. [MySQL] Insertion de données avec PHP et MySQL
    Par Gian B. dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 15/02/2015, 20h22
  2. Insertion de données avec php5
    Par Ludo75 dans le forum Langage
    Réponses: 3
    Dernier message: 24/08/2010, 15h18
  3. [MySQL] Insertion de données avec apostrophes dans ma base
    Par kawther dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 01/04/2007, 09h06
  4. Insertion de données avec Posgretsql
    Par djibril dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 18/05/2004, 11h23
  5. Réponses: 2
    Dernier message: 14/05/2004, 14h32

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