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 :

[Conception] inserer des valeurs provenant d'une liste multiple


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 295
    Points : 135
    Points
    135
    Par défaut [Conception] inserer des valeurs provenant d'une liste multiple
    Bonjour,

    J'ai sur mon site de petites annonces un champ option qui fait reference à une liste box de type multiple ( on peut cocher plusieurs choix dans la liste comme par exemple GPRS, MMS, MP3 ect..)
    j'aurais voulu inserer cette liste de choix saisie par l'utilisateur dans un champ text de ma table qui correpond à option comment faire je n'arrive pas à tout inserer merci de votre aide

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    ben deja montre ce que tu as fais
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2005
    Messages
    114
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 114
    Points : 103
    Points
    103
    Par défaut
    Hello,

    le nom de ton select multiple doit être un tableau :
    <select name="monSelect[]" ...>

    Tu récupèreras ainsi les différentes valeurs choisies dans ce tableau :
    $_POST['monSelect'][0] = valeur1
    $_POST['monSelect'][1] = valeur2
    ...etc

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    oui et si il veut tout mettre ensemble dans un champ, il fais un join sur son $_POST['monSelect'] et pi vala
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  5. #5
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    si j'ai bien compris. Tu prends tous les choix de ton utilisateur, tu les concatenes en une strig avec par exemple la virgule en separateur et tu l'inserre dans ta table, dans ton champs texte. LOrsque tu voudra recuperer les choix de ton client, tu fais ton query pour les recuperer et tu utilise la fonction explode();
    j'espere avoir repondu a ton attente
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  6. #6
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Oui ben c'est pas terrible quand même... Le jour où une option change de libellé, il va falloire faire la répercussion sur toutes les lignes qui référencaient l'anciennent valeur.

    les relations multivaluées se traduisent par une table supplémentaire contenant les clefs des deux autres. ainsi dans notre exemple :
    ANNONCE(id_annonce, titre, contenu, date, ...)
    OPTION(id_option, libelle)
    OPTION_ANNONCE(id_annonce, id_option)
    Ainsi avec une jointure on obtient toutes les options d'une annonce

  7. #7
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Points : 5 011
    Points
    5 011
    Par défaut
    oui c est clair que stocker une liste c est pas terrible, le seul avantage que j y verrais c est de pouvoir faire des "IN" sql plus facilement ... et encore
    Alunissage : Procédé technique consistant à déposer des imbéciles sur un rêve enfantin.

    Cours | FAQ | Sources Javascript
    Cours | FAQ | Sources PHP
    Mes Articles

  8. #8
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    Merci Mr N.
    Il va falloir que je revois quelques scripts et tables ou j'ai commis cette impardonnable folie
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  9. #9
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par yiannis
    Il va falloir que je revois quelques scripts et tables ou j'ai commis cette impardonnable folie
    Pour info ce principe est la 1° forme normale :
    Une relation est en première forme normale si tout attribut contient une valeur atomique.
    Plus d'info ici notemment sur les autres formes normales =>
    http://fr.wikipedia.org/wiki/Formes_normales

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 295
    Points : 135
    Points
    135
    Par défaut
    bonne idée j'y avais pense mais comment fait on quand un membre veut updater son annonce
    il faut updater sur 3 tables annonce option + la table N N annonceoption

  11. #11
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Ben non, une seule table...
    Il change d'option =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE option_annonce SET id_option = $new_option WHERE id_annonce = $annonce
    rien de plus naturel 8)

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/04/2007, 16h23
  2. Réponses: 12
    Dernier message: 02/03/2007, 11h33
  3. Inserer des valeurs dans une cellule
    Par azerty53 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/09/2006, 16h27
  4. [SQL] Problème de récupération des valeurs d'une liste multiple en php
    Par BOLARD dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/05/2006, 00h29

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