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 :

enregistrement donnée liste déroulante d'une table [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 15
    Par défaut enregistrement donnée liste déroulante d'une table
    Bonjour,
    J'ai crée une partie administration pour gérer des collaborateurs.
    Je souhaite donc enregistrer des données qui sont dans un formulaire de type "Civilité, Nom, prénom adresse etc"
    Pour les civilités, j'ai crée une table contenant "M. Mme. et Mlle."

    J'envoie les données du formulaire dans un fichier appelé 'add.php' et dans celui çi je récupère mes infos postés de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if(isset($_POST['collab_nom'])) $collab_nom=$_POST['collab_nom'];
    	else      $collab_nom ="";
     
    	if(isset($_POST['collab_prenom']))      $collab_prenom=$_POST['collab_prenom'];
    	else      $collab_prenom ="";
    etc...

    Ma question est comment récupérer l'information pour les civilités sachant que j'ai fait un sélect de type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select name="civilite_id" id="civilite_id">
    					<?php
                        while ( $list1 = mysql_fetch_array( $query1 ) ) {
                        echo "<option value=".$list1['civilite_id'].">".$list1['civilite_description']."</option>";
                        }					 
                        ?>
         		 </select>
    Tout fonctionne à part pour la civilité, je ne sais pas comment écrire le code pour qu'il récupère la donnée de la liste déroulante et ensuite l'enregistrer dans ma table des collaborateurs dans le champ que j'ai crée 'collab-civilite'

    Ma requête pour le moment (lorsque je n'avais pas encore fait de liste déroulante pour la civilité) est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = "INSERT INTO Mairie_collab  (collab_id, collab_civilite, collab_nom, collab_prenom,
     VALUES ('', '$collab_civilite', '$collab_nom', '$collab_prenom')
    Je vous prie de m'excuser par avance si une question de ce type a déjà été posté, j'ai cherché mais n'ai rien trouvé.

    Je précise que la table civilité est un impératif et ne peut pas faire autrement.
    Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Bonsoir,

    Je ne vois pas où est ton problème
    Sinon, ton select est entre la balise form que tu submit?

    A+.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    la question qui se pose, c'est qu'enregistres-tu dans le champ "collab_civilite" de la table Mairie_collab ?

    si c'est "civilite_id", no problemo.

    si c'est "civilite_description" :
    - soit tu change dans le <select> value="xxx['civilite_description'] -> que tu récupères directement
    - soit tu gardes civilite_id dans le <select>, mais tu dois alors faire une requete pour récupérer le "civilite_description" avant de l'enregistrer ...

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 15
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Bonjour,
    la question qui se pose, c'est qu'enregistres-tu dans le champ "collab_civilite" de la table Mairie_collab ?

    si c'est "civilite_id", no problemo.

    si c'est "civilite_description" :
    - soit tu change dans le <select> value="xxx['civilite_description'] -> que tu récupères directement
    - soit tu gardes civilite_id dans le <select>, mais tu dois alors faire une requete pour récupérer le "civilite_description" avant de l'enregistrer ...
    Ce que je veux enregistrer dans collab-civilite de la table Mairie_collab c'est bien civilite_description qui vient de la table Mairie_civilite.

    Excuse moi mais je comprends pas bien ta solution (peu d'expérience et quelques lenteurs à comprendre parfois lol)

    si je garde mon select comme il est écrit pour le moment :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <select name="civilite_id" id="civilite_id">
    					<?php
                        while ( $list1 = mysql_fetch_array( $query1 ) ) {
                        echo "<option value=".$list1['civilite_id'].">".$list1['civilite_description']."</option>";
                        }					 
                        ?>
         		 </select>
    Ma liste s'affiche bien pour la sélection.
    Donc dans mon fichier add.php qui reçoit mes données, que faut-il que j'écrive pour que ça enregistre

    Si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST['civilite_description'])) $civilite_description=$_POST['civilite_description'];
    	else      $civilite_description ="";
    Je récupère logiquement l'info sélectionné (M., Mme ou Mlle) mais quoi écrire dans ma requête pour sauvegarder dans ma table Mairie_collab cette foutu civilité qui vient d'une autre table...
    Je suis paumé, merci de votre patience et votre aide.

  5. #5
    Invité
    Invité(e)
    Par défaut
    En fait, j'ai donné 2 solutions ... différentes. Il ne faut pas les mélanger.

    A quoi bon faire : value=".$list1['civilite_id']." si au final, c'est id_description qu'il faut enregistrer ?

    Ah ! c'est bon, je vois !
    tu ne sais pas quelle requete faire pour remplir le select, c'est ca ?
    (c'est la requete à faire avant le while ...)
    Pour les civilités, j'ai crée une table contenant "M. Mme. et Mlle."
    Peux-tu donner la structure et le nom de la table ?

  6. #6
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Euh, le name de ton select est civilite_id donc tu dois le récupérer avec $_POST['civilite_id'] mais pas $_POST['civilite_description']

  7. #7
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 15
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    En fait, j'ai donné 2 solutions ... différentes. Il ne faut pas les mélanger.

    A quoi bon faire : value=".$list1['civilite_id']." si au final, c'est id_description qu'il faut enregistrer ?

    Ah ! c'est bon, je vois !
    tu ne sais pas quelle requete faire pour remplir le select, c'est ca ?
    (c'est la requete à faire avant le while ...)

    Peux-tu donner la structure et le nom de la table ?
    Je ne sais pas quelle requête écrire pour enregistrer la civilité choisi dans ma liste déroulante (civilite_description qui vient de la table Mairie_civilite) pour l'enregistrer dans le champ collab_civilite qui lui est dans la table Mairie_collab.(table qui regroupe toutes les informations du collaborateur, civilité, nom, prénom etc)

    En fait mon problème est juste l'enregistrement de la donnée du champ civilité puisque tous les autres champs je sais le faire. (ils sont tous dans des input name)
    Dans mon formulaire à la base, je vois bien ma liste déroulante qui provient de ma table Mairie_civilite, ça aucun problème.

    Mon problème est là, quand je passe dans add.php qui est mon fichier pour enregistrer les données je ne sais plus ce que je dois écrire...

  8. #8
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 15
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Peux-tu donner la structure et le nom de la table ?
    La table s'appelle Mairie-civilite
    Il y'a deux champs
    civilite_id
    civilite_description (qui comprend M. Mme. Mlle.)

  9. #9
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Bonjour,

    Ton problème se situe ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if(isset($_POST['civilite_description'])) $civilite_description=$_POST['civilite_description'];
    Ca n'existe pas ! Toi ce que tu as c'est $_POST['civilite_id'] !

    Change la value de ton <option> pour civilite_description.
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  10. #10
    Expert confirmé

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Par défaut
    Edit : bon finalement j'vais rester gentil. Fais comme jreaux a dit, et ça marchera
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

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

Discussions similaires

  1. enregistrer plusieurs colonnes d'une liste déroulante dans une table
    Par juliejuliejuliejulie dans le forum VBA Access
    Réponses: 5
    Dernier message: 19/06/2012, 18h18
  2. [MySQL] Liste déroulante d'une table : entrée manquante
    Par Lenezir dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/01/2008, 08h53
  3. [MySQL] Liste déroulante liée à une table
    Par fraisoo dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 09/02/2007, 06h20
  4. [Oracle] Remplir une liste déroulante avec une table
    Par CYCLOPE91440 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 26/12/2006, 15h26
  5. Liste déroulante dans une table hyperfile
    Par arnaud_verlaine dans le forum WinDev
    Réponses: 8
    Dernier message: 01/11/2006, 18h27

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