Récupérer plusieurs valeurs d'un même champ
Résolu/Fermé
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
-
1 oct. 2019 à 00:20
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 13 oct. 2019 à 09:42
LaChaux78 Messages postés 581 Date d'inscription lundi 25 juillet 2016 Statut Membre Dernière intervention 21 novembre 2024 - 13 oct. 2019 à 09:42
A voir également:
- Récupérer plusieurs valeurs d'un même champ
- Comment recuperer un message supprimé sur whatsapp - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupérer mon compte facebook désactivé - Guide
11 réponses
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
1 oct. 2019 à 00:56
1 oct. 2019 à 00:56
Ton code est toujours aussi brouillon.... et tes explications complètement incompréhensibles..
Mais bon... j'aurai beau te le dire à chacun de tes messages, je pense que ça ne sert à rien..
On a du mal à comprendre si ton souci est lors de l'insertion en base de données ..... ou lors de l'affichage des données insérées sur ta page.
Au départ j'ai pensé à un souci d'insertion en base.... mais après une bonne vingtaine de relecture je penche finalement sur un souci d'affichage.
Et plus exactement.. un problème de jointure dans ta requête
En effet... .. la structure de ta table
n'est pas bonne. ( je te l'ai déjà dit à plusieurs reprises dans tes différentes discussions )
Tu ne peux pas mettre plusieurs ID dans un seul champ idpers et faire des jointures dessus !!!!
Donc, une dernière fois, je te le redis.... tu dois faire une table de relation supplémentaire.. !
Et vu les erreurs que tu commets lorsque tu conçois ta base de données (et ton code en général...) je serais toi.. je commencerai par suivre des tutos adaptés à ton niveau.
A commencer par un bon cours sur les bases de données relationnelles....
Pour rappel.. le 12 octobre 2018 (et oui.. déjà un an ) tu planchais déjà sur ce bout de code et tu avais indiqué que tu allais revoir la structure de tes tables
Discussion visible ici : https://forums.commentcamarche.net/forum/affich-35620214-recuperer-les-valeurs-des-checkboxs#10
Tu n'as guère progressé visiblement....
Mais bon... j'aurai beau te le dire à chacun de tes messages, je pense que ça ne sert à rien..
On a du mal à comprendre si ton souci est lors de l'insertion en base de données ..... ou lors de l'affichage des données insérées sur ta page.
Au départ j'ai pensé à un souci d'insertion en base.... mais après une bonne vingtaine de relecture je penche finalement sur un souci d'affichage.
Et plus exactement.. un problème de jointure dans ta requête
En effet... .. la structure de ta table
Ma table pour faire simple.
cdc_classeurs (nom de la table)
idclass (auto incrémente)
idpers (tinytext relation avec ma table cdc_personnes)
n'est pas bonne. ( je te l'ai déjà dit à plusieurs reprises dans tes différentes discussions )
Tu ne peux pas mettre plusieurs ID dans un seul champ idpers et faire des jointures dessus !!!!
Donc, une dernière fois, je te le redis.... tu dois faire une table de relation supplémentaire.. !
Et vu les erreurs que tu commets lorsque tu conçois ta base de données (et ton code en général...) je serais toi.. je commencerai par suivre des tutos adaptés à ton niveau.
A commencer par un bon cours sur les bases de données relationnelles....
Pour rappel.. le 12 octobre 2018 (et oui.. déjà un an ) tu planchais déjà sur ce bout de code et tu avais indiqué que tu allais revoir la structure de tes tables
Discussion visible ici : https://forums.commentcamarche.net/forum/affich-35620214-recuperer-les-valeurs-des-checkboxs#10
Tu n'as guère progressé visiblement....
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
4 oct. 2019 à 23:51
4 oct. 2019 à 23:51
Bonjour, C'est exact comme tu l'a souligné il y a un an j'avais fait cette gestion de classeurs avec des relations entre tables quelques choses de structuré. Et au fil du temps je me suis aperçu que je ne pouvais gérer cela de façon conventionnel. Alors j'ai repris un classeur Excel et j'ai fait ma gestion avec. Et aujourdh'ui j'aimerai reprendre cette gestion de façon dynamique. Mais voilà il y a un hic....
Je suis obligé d'insérer plusieurs valeurs dans un même champ sql. je sais que c'est une très mauvaise idée mais dans mon cas je n'ai pas le choix. Je posterai prochainement mon soucis.
Cordialement.
Je suis obligé d'insérer plusieurs valeurs dans un même champ sql. je sais que c'est une très mauvaise idée mais dans mon cas je n'ai pas le choix. Je posterai prochainement mon soucis.
Cordialement.
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
5 oct. 2019 à 09:45
5 oct. 2019 à 09:45
Je suis obligé d'insérer plusieurs valeurs dans un même champ sql
Tu es OBLIGE ?
Par qui ? Pourquoi ?
je sais que c'est une très mauvaise idée
Ce n'est pas une "mauvaise" idée.... c'est une très très très très mauvaise façon de faire !
Sais tu ce qu'est une Base de données relationnelle et comment la concevoir et l'utiliser ? J'en doute vu tes questions....
mais dans mon cas je n'ai pas le choix
Ah bon ? Comme pour ma première question... qui t'y oblige ? Pour quells raisons ? Qu'est-ce qui t'en empeche réellement ?
Tu ne peux pas ( ne dois pas..) juste prendre tes feuilles excel est esayer de les reproduire dans ta BDD ...
Excel est un tableur.. pas un système de gestion de base de données... tu ne dois donc pas t'en inspirer pour concevoir ta base.
Pour faire une base.. on peut stocker toutes les valeurs dans autant de tables et de champs qu'on le souhaite... il faut juste rester logique et cohérent avec le fonctionnement d'une base relationnelle....
Et avec ta structure actuelle de base tu es loin d'être en accord avec une bdd relationnelle et tu ne pourras JAMAIS réaliser ce que tu souhaites.
Donc.. avant de commencer à coder (ou de continuer dans ton cas)... forme toi sur les bases de données relationnelles et essaye de concevoir un MCD cohérent.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
7 oct. 2019 à 09:35
7 oct. 2019 à 09:35
Bonjour, Avant toute chose je sais très bien ce que c'est un classeur Excel c'était simplement pour dire que je gére cela sur papier si tu préféres, je ne suis pas très doué mais quand même. J'ai réalisé une partie administration dont je suis pas mécontent de moi. J'ai fait l'achat de livres sur PHP/MYSQL et je ne serai jamais un pro comme tu l'est mais j'avance quand même à mon niveau.
Je donne des cours de musique BENEVOLEMENT heureusement qu'avec mes élèves, que je ne suis pas aussi intransigeant que tu l'est avec moi. Merci en tout cas pour l'aide que vous apporter.
Je continue dans mes recherches.
Salutations.
Je donne des cours de musique BENEVOLEMENT heureusement qu'avec mes élèves, que je ne suis pas aussi intransigeant que tu l'est avec moi. Merci en tout cas pour l'aide que vous apporter.
Je continue dans mes recherches.
Salutations.
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
7 oct. 2019 à 10:42
7 oct. 2019 à 10:42
Je pense que si un de tes élèves te dit qu'il doit impérativement jouer du piano aves ses pieds..sans te doner une raison valable...tu risques de tout faire pour le corriger..
Moi c'est pareil avec ta structure de table...
Moi c'est pareil avec ta structure de table...
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
7 oct. 2019 à 11:12
7 oct. 2019 à 11:12
Je précise également que moi aussi... j'interviens sur ce forum BÉNÉVOLEMENT...
Le problème étant que tu ne réponds pas à nos questions et que tu sembles t'obstiner dans ta façon de faire au lieu d'essayer de comprendre comment ça fonctionne réellement...
Le problème étant que tu ne réponds pas à nos questions et que tu sembles t'obstiner dans ta façon de faire au lieu d'essayer de comprendre comment ça fonctionne réellement...
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
7 oct. 2019 à 18:32
7 oct. 2019 à 18:32
Bonjour, Alors en ce qui concerne mon soucis.
Il faut que je gère la gestion des classeurs dans lequel sont classé les partitions de musique pour chaque musiciens.
Chaque classeur à bien entendu 1 catégorie (pupitre)
Pour que cela soit plus limpide.
Moi j'ai un classeur de la catégorie Saxophone.
Mes deux compères se partagent un classeur de la catégorie Saxophone également.
Alors tu me dira et pourquoi vous n'avez pas chacun un classeur? cela simplifierai la chose.
J'avais fait mes relations des tables de la façon suivante.
Avant d'aller plus loin donne moi tes impressions, même si je redoute le pire.
Merci.
Il faut que je gère la gestion des classeurs dans lequel sont classé les partitions de musique pour chaque musiciens.
Chaque classeur à bien entendu 1 catégorie (pupitre)
Pour que cela soit plus limpide.
Moi j'ai un classeur de la catégorie Saxophone.
Mes deux compères se partagent un classeur de la catégorie Saxophone également.
Alors tu me dira et pourquoi vous n'avez pas chacun un classeur? cela simplifierai la chose.
J'avais fait mes relations des tables de la façon suivante.
cdc_personnes idpers AUTO_INCREMENT nom prenom cdc_classeurs idpers idpup cdc_pupitres idpup AUTO_INCREMENT pupitre
Avant d'aller plus loin donne moi tes impressions, même si je redoute le pire.
Merci.
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
7 oct. 2019 à 19:30
7 oct. 2019 à 19:30
Tu as donc trois tables...
Table cdc_personnes
Table cdc_classeurs
Table cdc_pupitres
La table cdc_classeurs étant donc la table de jointure entre cdc_personnes et cdc_pupitres ?
Jusque là, tout est bon.
Bien entendu, tu peux avoir dans cette table autant de lignes 'user/pupitre' que necessaire.
Imaginons que tu aies un utilisation dont l'id est "1"
Et qu'il soit rattaché aux classeurs 1,2,3,5
Dans ce cas, dans ta table cdc_classeurs tu auras 4 lignes
1 | 1
1 | 2
1 | 3
1 | 5
Table cdc_personnes
idpers AUTO_INCREMENT nom prenom
Table cdc_classeurs
idpers idpup
Table cdc_pupitres
idpup AUTO_INCREMENT pupitre
La table cdc_classeurs étant donc la table de jointure entre cdc_personnes et cdc_pupitres ?
Jusque là, tout est bon.
Bien entendu, tu peux avoir dans cette table autant de lignes 'user/pupitre' que necessaire.
Imaginons que tu aies un utilisation dont l'id est "1"
Et qu'il soit rattaché aux classeurs 1,2,3,5
Dans ce cas, dans ta table cdc_classeurs tu auras 4 lignes
1 | 1
1 | 2
1 | 3
1 | 5
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
7 oct. 2019 à 20:55
7 oct. 2019 à 20:55
Bonjour,
Déjà un utilisateur a 1 seul classeur donc dans ton exemple l'ID 1, ne peut avoir 4 classeurs, et 1 classeur à 1 utilisateur ou plusieurs
Mais imaginons comme c'est le cas que deux utilisateur dont l'ID est le 2 et 5 et qu'ils se partagent le même classeur 3.
Un autre utilisateur dont l'ID est le 1 à le classeur 3
voici la correspondance:
classeur = pupitre
pupitre = saxophone ou trompette ou guitare ou piano etc...
2 | 3
5 | 3
1 | 3
Comment je vais pouvoir faire pour savoir entre l'ID 1 et 2 et 3 qui se partagent le même classeur? c'est très important pour cette gestion.
Déjà un utilisateur a 1 seul classeur donc dans ton exemple l'ID 1, ne peut avoir 4 classeurs, et 1 classeur à 1 utilisateur ou plusieurs
Mais imaginons comme c'est le cas que deux utilisateur dont l'ID est le 2 et 5 et qu'ils se partagent le même classeur 3.
Un autre utilisateur dont l'ID est le 1 à le classeur 3
voici la correspondance:
classeur = pupitre
pupitre = saxophone ou trompette ou guitare ou piano etc...
2 | 3
5 | 3
1 | 3
Comment je vais pouvoir faire pour savoir entre l'ID 1 et 2 et 3 qui se partagent le même classeur? c'est très important pour cette gestion.
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
7 oct. 2019 à 21:21
7 oct. 2019 à 21:21
Erreur d'écriture de ma part
A la place de
Il fallait lire
Ensuite
Dans ce cas... il te manque un champ pour faire le lien entre une personne et un classeur.
Si tu as une liaison 1 personne -> 1 classeur il faut dans ce cas ajouter, dans ta table cdc_personnes un champ 'id_classeur'
A la place de
Imaginons que tu aies un utilisation dont l'id est "1"
Et qu'il soit rattaché aux classeurs 1,2,3,5
Il fallait lire
Imaginons que tu aies un utilisation dont l'id est "1"
Et qu'il soit rattaché aux pupitres 1,2,3,5
Ensuite
Déjà un utilisateur a 1 seul classeur
Dans ce cas... il te manque un champ pour faire le lien entre une personne et un classeur.
Si tu as une liaison 1 personne -> 1 classeur il faut dans ce cas ajouter, dans ta table cdc_personnes un champ 'id_classeur'
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
>
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
7 oct. 2019 à 22:05
7 oct. 2019 à 22:05
D'ailleurs il semble qu'il manque un champ "id" pour ta table cdc_classeur.
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
7 oct. 2019 à 22:09
7 oct. 2019 à 22:09
Pourrais tu lister TOUTES les tables de ta BDD et indiquer les relations qu'il y a entre chacune d'elles ?
On sait déjà qu'un cdc_personnes est lié à 1 cdc_classeur
Donc pour ces deux tables on devrait avoir :
cdc_personnes
cdc_classeurs
Et la table cdc_adherer ? elle sert à quoi ? Elle est liée à quelle autre table ? Quelle cardinalité ( 1:1 1:n n:n ? )
On sait déjà qu'un cdc_personnes est lié à 1 cdc_classeur
Donc pour ces deux tables on devrait avoir :
cdc_personnes
idpers AUTO_INCREMENT nom prenom idclass
cdc_classeurs
idclass AUTO_INCREMENT idpers idpup
Et la table cdc_adherer ? elle sert à quoi ? Elle est liée à quelle autre table ? Quelle cardinalité ( 1:1 1:n n:n ? )
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
8 oct. 2019 à 12:55
8 oct. 2019 à 12:55
Bonjour,
La table cdc_adherer est une table de relation
Alors cela donnerai donc:
Mais qu'en est-il => 1 classeur à 1 utilisateur ou plusieurs => 1:n
C'est flou pour moi je suis en train de mettre tout ça sur papier pour voir.
La table cdc_adherer est une table de relation
idpers => ID de la personne idpaie =>ID du paiement idclas => ID de la classe annee => Année de cotisation ddebut => Date de début d'adhésion de l'adhérent dfin => Date de démission de l'adhérent montant => Montant annuel payé
Alors cela donnerai donc:
table cdc_personnes idpers AUTO_INCREMENT nom prenom idclass table cdc_pupitre idpup AUTO_INCREMENT pupitre table cdc_classeurs idclass AUTO_INCREMENT idpers idpup
Mais qu'en est-il => 1 classeur à 1 utilisateur ou plusieurs => 1:n
C'est flou pour moi je suis en train de mettre tout ça sur papier pour voir.
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
8 oct. 2019 à 13:49
8 oct. 2019 à 13:49
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
8 oct. 2019 à 16:33
8 oct. 2019 à 16:33
Oui cela commence à être moins confus.
Est-il possible au lieu de rajouter un champ dans la table cdc_personnes si je cré en plus une nouvelle table par exemple:
cdc_possession
idpers
idclass
Est-il possible au lieu de rajouter un champ dans la table cdc_personnes si je cré en plus une nouvelle table par exemple:
cdc_possession
idpers
idclass
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
8 oct. 2019 à 16:38
8 oct. 2019 à 16:38
Si tu veux.
cela te permettra en plus de pouvoir gérer plusieurs classeurs pour une même personne si tu en as besoin.
Par contre, il est recommandé, même si ce n'est pas une obligation, d'avoir un id Autoincrementé dans chaque table.. y compris celle là.
Cela permet d'administrer plus facilement la table lors de delete ou d'update.
(tu le verras si jamais tu essaye de supprimer la ligne via phpmyadmin par exemple )
cela te permettra en plus de pouvoir gérer plusieurs classeurs pour une même personne si tu en as besoin.
Par contre, il est recommandé, même si ce n'est pas une obligation, d'avoir un id Autoincrementé dans chaque table.. y compris celle là.
Cela permet d'administrer plus facilement la table lors de delete ou d'update.
(tu le verras si jamais tu essaye de supprimer la ligne via phpmyadmin par exemple )
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
8 oct. 2019 à 23:32
8 oct. 2019 à 23:32
Je vais créé mes tables et voir tout cela de façon réel car il y a encore une petite chose qui me chagrine mais je suis pas sur.
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
9 oct. 2019 à 20:12
9 oct. 2019 à 20:12
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
Modifié le 9 oct. 2019 à 20:44
Modifié le 9 oct. 2019 à 20:44
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
4 727
>
jordane45
Messages postés
38380
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 janvier 2025
9 oct. 2019 à 20:47
9 oct. 2019 à 20:47
je me suis basé sur ce que tu as essayé de nous expliquer.
Donc en partant du principe qu'il peut y avoir 1-->n pupitre par classeur ?
A mois que LE pupitre soit lié à l'utilisateur ?
pourrais tu nous expliquer le lien que tu souhaites avoir entre chaque élément ?
Combien de classeur par Utilisateur ? ( ça tu nous as déjà dit 1 utilisateur est rattaché à 1 classeur )
Combien de Pupitre par classeur ? ( et/ou par utilisateur peut-être ? )
Sinon à quoi sert la table cdc_classeur..... ?
NB: Tous les champs "id" sont de type auto-incrément.
Pas besoin, dans chaque table.. d'indiquer iddequoi
Si tu es dans la table cdc_personne... on se doute que le champ "id" c'est idPers ....
Donc en partant du principe qu'il peut y avoir 1-->n pupitre par classeur ?
A mois que LE pupitre soit lié à l'utilisateur ?
pourrais tu nous expliquer le lien que tu souhaites avoir entre chaque élément ?
Combien de classeur par Utilisateur ? ( ça tu nous as déjà dit 1 utilisateur est rattaché à 1 classeur )
Combien de Pupitre par classeur ? ( et/ou par utilisateur peut-être ? )
Sinon à quoi sert la table cdc_classeur..... ?
NB: Tous les champs "id" sont de type auto-incrément.
Pas besoin, dans chaque table.. d'indiquer iddequoi
Si tu es dans la table cdc_personne... on se doute que le champ "id" c'est idPers ....
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
9 oct. 2019 à 23:23
9 oct. 2019 à 23:23
Relation entre éléments:
1 => n utilisateur par classeur
1 => 1 pupitre par classeur
Un classeur à 1 ou plusieurs utilisateurs
Un classeur a un pupitre
Un pupitre à un ou plusieurs classeur
Exemple de tables mais c'est simplement pour te donner une idée sur les relations des IDs qu'il faudrait.
Mais à propos de la tables cdc_classeurs il manque une table de relation.
C'est pour te montrer dans la table cdc_classeurs que les idpers ont le même pupitre et que idpers1 et idpers2 se partage le même classeur et idpers3 il a un classeur individuel.
La structure que tu a faites me semble peut-être cohérente mais je n'en suis pas sur. Par contre dans la table cdc_adherer il y a déjà idpers.
Excuse moi ça c'est peut-être pas très clair mes explications mais je ne peux pas faire mieux.
1 => n utilisateur par classeur
1 => 1 pupitre par classeur
Un classeur à 1 ou plusieurs utilisateurs
Un classeur a un pupitre
Un pupitre à un ou plusieurs classeur
Exemple de tables mais c'est simplement pour te donner une idée sur les relations des IDs qu'il faudrait.
Mais à propos de la tables cdc_classeurs il manque une table de relation.
C'est pour te montrer dans la table cdc_classeurs que les idpers ont le même pupitre et que idpers1 et idpers2 se partage le même classeur et idpers3 il a un classeur individuel.
La structure que tu a faites me semble peut-être cohérente mais je n'en suis pas sur. Par contre dans la table cdc_adherer il y a déjà idpers.
Excuse moi ça c'est peut-être pas très clair mes explications mais je ne peux pas faire mieux.
cdc_personnes idpers nom 1 pierre 2 paul 3 jacques cdc_pupitres id pupitre 1 guitare 2 piano cdc_classeurs id idpers idpup 1 1 2 1 2 2 2 3 2
LaChaux78
Messages postés
581
Date d'inscription
lundi 25 juillet 2016
Statut
Membre
Dernière intervention
21 novembre 2024
32
13 oct. 2019 à 09:42
13 oct. 2019 à 09:42
Bonjour, J'ai résolu totalement mon problème. Je vous remercie.