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 :

gestion liste déroulante [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
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Par défaut gestion liste déroulante
    Salut

    Bon je sais il y a un tas de sujets qui traitent de la récupération de données de liste déroulante à choix multiple mais je n'arrive pas à trouver un vrai tutorial qui explique le déroulement complet de la procédure : récupération des données, insertion dans une base mysql (dans un champ varchar) puis récupération de ces données pour modification éventuelles
    Bon une solution serait de passer par des checkbox mais celà ne me plait pas car pour la maintenance d'un projet la liste déroulante c'est mieux
    Donc j'ai une liste déroulante multichoix

    J'arrive à voir ce que choisit l'utilisateur en faisant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(isset($_POST['lst_marche']) && !empty($_POST['lst_marche'])){
    	$tab = $_POST['lst_marche'];
    //	print_r($tab);
            foreach($tab as $selectValue){
    		//affichage des valeurs sélectionnées
                    echo $selectValue;
    	}
    }
    donc il m'affiche bien 13

    Donc c'est là que le blaireau cale !!!
    1) Comment faire pour séparer les valeurs : j'ai fait echo $selectValue.","; et donc il m'affiche 1,3, (cela ne vat-il pas poser problème si je fais des explode !!)
    2) Ensuite comment faire pour inserer dans base (champ marche) la valeur 1,3 correspondante au choix de l'utilisateur

    Si déjà j'arrive à faire ceci celà m'avancerait fortement et je passerais ensuite à la partie récupération des données pour modification éventuelle

    En espérant avoir été clair et désolé si je me suis mal exprimé !!

    Cordialement et joyeux Noël

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    liste déroulante à choix multiple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($tab as $selectValue){
    		//affichage des valeurs sélectionnées
                    echo $selectValue;
    	}
    donc il m'affiche bien 13
    1) Comment faire pour séparer les valeurs : j'ai fait echo $selectValue.","; et donc il m'affiche 1,3
    Si je comprends bien votre exemple est sur la sélection par l'utilisateur de deux options dans la liste à choix multiples ayant pour valeurs respectivement 1 et 3 ?

    2) Ensuite comment faire pour inserer dans base (champ marche) la valeur 1,3 correspondante au choix de l'utilisateur
    Vous stockeriez ainsi une valeur multiple dans une colonne de la table, ce qui est une mauvaise chose.

    Vous avez en fait la règle de gestion des données suivante :
    Un utilisateur peut choisir plusieurs options et une option peut être choisie par plusieurs utilisateurs.

    Cette règle de gestion entraîne le MCD suivant :
    utilisateur -0,n----choisir----0,n- option

    Et ce MCD entraîne la création des tables suivantes :
    te_utilisateur_uti (uti_id, ...)
    te_option_opt (opt_id, opt_libelle...)
    tj_uti_choisir_opt_uco (uco_id_utilisateur, uco_id_option, ...)
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    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 : 40
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je plussoie sur la remarque de CinePhil.

    Cela dit, si tu stockes quand même tes données dans un seul champ, tu as les fonctions explode (que tu connais visiblement) et implode (qui est son inverse )
    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]

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Par défaut
    Salut

    Merci pour vos réponses

    D'accord avec CinePhil mais j'ai envie de dire que ce sera la suite !!!
    Déjà je voudrais récupérer mes valeur (1,3) pour les mettre dans la base !!! : à chaque jour sa peine

    Car une fois que ma problèmatique réglée je chercherais l'amélioration : enfin c'est ainsi que je vois les choses !!!!

    Cordialement

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Pourquoi ne pas faire bien les choses tout de suite ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 46
    Par défaut
    Salut

    Oui en effet CinePhil
    Donc tu crée une table pour les id de l'utilisateur (elle existe déjà), une table pour les id que l'utilisateur va choisi (elle existe aussi ) et enfin une table qui regroupe les 2 (celle-ci doit être crée !!!) : c'est bien celà ???
    Mais il faut quand même que je récupère les fameuses données (1,3) pour pour pouvoir les mettre dans cette dernière table !! Et c'est là que je coince : je les affiche bien mais comment les récupérer pour les mettre dans une table mysql ??

    Peut-être que je m'explique mal mais c'est là mon problème : récupérer ces fameuses valeurs grrrrrr

    Cordialement

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

Discussions similaires

  1. Gestion liste déroulante
    Par demenvil dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/09/2011, 11h15
  2. Réponses: 7
    Dernier message: 08/12/2007, 14h37
  3. Gestion de 5 listes déroulantes liées avec paramètres SQL
    Par kenshir0 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 06/04/2007, 18h46
  4. Réponses: 1
    Dernier message: 20/06/2006, 17h39

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