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

WebDev Discussion :

Liste à choix multiples et enregistrement dans base de donnée


Sujet :

WebDev

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 94
    Points : 36
    Points
    36
    Par défaut Liste à choix multiples et enregistrement dans base de donnée
    Bonjour à tous
    webdev12

    mon formulaire intègre une liste générée d'après un fichier. cette liste est à choix multiples.
    je ne sais comment :
    1.mémoriser les choix qui ont été faits
    2. enregistrer ces choix dans le fichier afférent; à propos j'ai choisi pour cette rubrique le type: selecteur, liste, combo; est-ce le bon choix (avec en option : clé avec doublon))
    comment arriver à enregistrer jusqu'à 6 valeurs (ma liste en contient 65, dont 6 max selectionnables), dans cette rubrique "mono dimensionnelle"; à moins qu'il eu fallut choisir "non clé ET tableau"???



    merci pour vos conseils
    A+
    Sam

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    salut
    je ne suis pas sur d'avoir bien compris

    pour ta combo tu as des options dans le menu description qui te laissent mémoriser soit les valeurs mémorisée soit la valeur affichée
    ensuite utilise la rubrique liaison pour faire le lien avec la rubrique de la bonne table avec ton analyse

    après c'est fait automatiquement quand tu valides le formulaire avec des fonctions pageversfichier(nomtable)


    l'histoire de clé avec doublon il ne faut pas trop s'y fier ca signifie juste que c'est un index par contre tu dois mettre cette option sur toutes les rubriques que tu es susceptible d'utiliser ultérieurement pour faire des recherches et des filtres.

    pour ton histoire de multidimension de données je ne sais pas , je n'ai jamais utilisé dans une table un type autre que entier, chaine...., c'est curieux cette option, je ne vois comment faire par exemple si tartenpion à 5 spécialités tu retrouveras tartempion sur 5 lignes avec en face une valeur et il faut une requete pour les réeextraire, ou alors webdev fait une bidouille il stocke 5 valeurs séparées par des points virgules dans un seul champ.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 94
    Points : 36
    Points
    36
    Par défaut
    bonjour

    Citation Envoyé par xander412 Voir le message
    salut
    je ne suis pas sur d'avoir bien compris

    pour ton histoire de multidimension de données je ne sais pas , je n'ai jamais utilisé dans une table un type autre que entier, chaine...., c'est curieux cette option, je ne vois comment faire par exemple si tartenpion à 5 spécialités tu retrouveras tartempion sur 5 lignes avec en face une valeur et il faut une requete pour les réeextraire, ou alors webdev fait une bidouille il stocke 5 valeurs séparées par des points virgules dans un seul champ.
    merci pour ta réponse

    voir en image jointe les paramètres utisés.
    le problème est qu'en suivant ta logique (qui est aussi la mienne), je ne sais que transmettre l'indice le plus faible des n selections faites; autrement dit si l'option 3,6,7 et 9sont selectionnées seules la 3 ira bel et bien s'enregistrer.
    y a t il un code particulier qui permet de capturer les n choix faits pour les transmettre avec la séparation qui va bien lors du "pageversfichier"




  4. #4
    Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Août 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 28
    Points : 43
    Points
    43
    Par défaut
    Très intéressé par ton problème car j'aurais bientôt le même.

    Un élément de réponse (peut-être) pour le stockage : Puisque le nombre de choix possible est fixe, pourquoi ne pas créer 5 rubriques au lieu d'une, dans ta table.

    Ne reste alors plus que le problème de leurs affectations avec les options choisies dans ton sélecteur.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 94
    Points : 36
    Points
    36
    Par défaut certes
    Salut
    je comprends ton principe, qui peut résoudre une partie du problème, le stockage.
    mais dans un premier temps, comment mémoriser les n choix faits?
    Cocher le choix "choix multiple" dans la description semble simplement autoriser le choix multiple, mais ne semble pas activer la mécanique de mémorisation avant transfert vers fichier......?
    A te lire
    A+

  6. #6
    Membre du Club
    Homme Profil pro
    Formateur en informatique
    Inscrit en
    Août 2009
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Formateur en informatique

    Informations forums :
    Inscription : Août 2009
    Messages : 28
    Points : 43
    Points
    43
    Par défaut
    Les exemples livrées (Pages et Champs) montrent que les interrupteurs et les listes permettent de faire ça ; Mais pas automatiquement. Il faut un peu du code. (à quel niveau ??? sur le "on change" ? ici c'est dans un bouton)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    // Avec les interrupteurs
    i est un entier
    s est une chaine
     
    // Récupèration de toutes les options sélectionnées
    POUR i=1 A INT_Choix..Occurrence
     SI INT_Choix[i] = Vrai ALORS
      s += "N°" + i + " = '" + INT_Choix[i]..Libellé + "'" + RC
     FIN
    FIN
     
    Info("Le(s) option(s) sélectionnée(s) est (sont) : ", s)
    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
     
    // Avec les listes
     
    // Sélection (en partant de la fin) :
    ListeSelectPlus(LISTE_Multi, LISTE_Multi..Occurrence-1)
    ListeSelectPlus(LISTE_Multi, LISTE_Multi..Occurrence-3)
     
    // Récupération
    i est un entier = 1
    s est une chaine
    n est un entier = listeSelect(LISTE_Multi, i)
    TANTQUE n <> -1	
     s += "N°" + n + " = '" + LISTE_Multi[n] + "'" + RC
     i = i + 1
     n = ListeSelect(LISTE_Multi, i)
    FIN
     
    Info("Les options sélectionnées sont : ", s)
    Reste à ajouter le code de limitation du Nbr de choix, et celui de(s) l'affectation(s) ; Dans mon cas à mes N rubriques, dans le tient (je suppose) dans une chaine à construire puis à dé-conscruire à l'utilisation.
    Poste nous ton code après mise au point
    PS : Oups, je suis en v14, je ne sais pas si cela fonctionne en v12

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    désolé je sèche
    par contre pour faire çà en php tu sérialises le tableau de valeurs ( les résultats sélectionnés) et c'est stocké dans une rubrique de type chaine et non pas entier
    , il n' ya pas quelque chose là dessus dans l'aide ?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 94
    Points : 36
    Points
    36
    Par défaut on pourrait dire
    que cela résoud en partie le souci de mémorisation.
    s pourrait être une concaténation (séparée , ou de point virgule) des indices sélectionnés, par exemple sélection des lignes 2, 5 et 7 me donne s = 2,5,7

    mais comment enregistrer dans mon fichier ces n variables?
    A+

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 40
    Points
    40
    Par défaut
    comme les autres enregistrements non?
    un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    table.rubrique = s
    hajoute(table)
    hferme()
    (un houvre, hlit recherche si tu n'est pas déjà calé sur l'enregistrement mais probablement que si)

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 94
    Points : 36
    Points
    36
    Par défaut
    je vais tester.
    par contre comment recrées tu inversement la liste des options qui ont été choisies et enregistrées avec cette méthodologie?
    1. rééclater s en une série d'indice
    2. aller chercher l'option en fonction de l'indice


    comment faire en terme de code?

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2017
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par xander412 Voir le message
    comme les autres enregistrements non?
    un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    table.rubrique = s
    hajoute(table)
    hferme()
    (un houvre, hlit recherche si tu n'est pas déjà calé sur l'enregistrement mais probablement que si)
    Et comment le recuperer avec la fonction fichierversecran et voir les interrupteurs sélectionnés

Discussions similaires

  1. liste à choix multiple : modification de la base
    Par Creanet dans le forum Langage
    Réponses: 2
    Dernier message: 02/11/2009, 13h26
  2. Réponses: 9
    Dernier message: 02/06/2009, 15h37
  3. Réponses: 6
    Dernier message: 07/07/2007, 19h58
  4. Insérer Enregistrement dans Base de données
    Par TurricanII dans le forum JBuilder
    Réponses: 3
    Dernier message: 30/05/2006, 12h59
  5. nbre enregistrements dans base de données
    Par Chonchon dans le forum JDBC
    Réponses: 3
    Dernier message: 09/01/2006, 20h54

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