 |
Catégories
|
 |
|
Graphisme Programmation  Base de données (26)Hardware Divers
1145 Sujets 14794 Réponses
|
|
 |
 |
 |
|
 |
Réponses - Gestion Club Sportif: relat... |
 |
|
 |
 |
Soit la table Categories - id -> int11, auto-incrementée. - denomination -> vc255, correspond au nom de la catégorie (Séniors, U14, .....). - type-> int4, correspond au type de catégorie: adultes (=> 20ans),foot jeunes (14 <= age <=19),école de foot (6 <=age <=13). - sexe-> int1, correspond au sexe des membres de catégorie. - age_min-> int6, correspond a l'age minimum de catégorie (0 si pas d'age min). - age_max-> int6, correspond a l'age maximum de catégorie (99 si pas d'age max). Ainsi la catégorie U14, définie selon les reglements européens (bra*****s) regroupe les joueurs agés de 13 ans (U pour 'unter') uniquement. Mais U14 masculine est differente de U14 féminine.... La catégorie Sénior masculine regroupe les joueurs masculins agé 20 a 34 ans........ etc etc. soit la table Equipes - id -> int11, auto-incrementée. - denomination -> vc255, correspond au nom de l'équipe. - ...... d'autres champs (championnat, poule, .....) uniques pour chaque equipes. - Liste des catégories normales - Liste des catégories sur-classées - Liste des catégories sous-classées Ce sont ces 3 listes qui me posent un probleme de définition et relations entre les tables: ces listes varient en fonction des classes d'age, du sexe des licencié(e)s,.... et du type de compétition de l'équipe! Type de compétition: officielle (soumises a la reglementation de la FFF, des differentes ligues et des differents districts (regroupés sous le terme de bra*****s)) et officieuse (matches amicaux, tournois, ... où si on veut avoir une équipe de kangourous que la structure des données le permette). exemple officieux: mon équipe vétérans, où l'on invite qui on veut! (sauf les bra*****s qui edictent des regles a la c**) -> pas de prise en compte des catégories. exemple officiel n°1: Séniors A: regroupe les catégories normales Séniors (m), Vétérans (m), la catégorie sur-classée U20(m) (et le double sur-classement U19(m) au cas par cas suivant avis médical) . exemple officiel n°2: U20 A: regroupe les catégories normales U18 (m), U19 (m), U20 (m) , la catégorie sur-classée U17(m) , et aucune sous-classée. exemple officiel n°3: U20 B: regroupe les catégories normales U19 (m), U20 (m) , les catégories sur-classées U17(m) et U18(m) , et aucune sous-classée. exemple officiel n°3: U15 PH: regroupe les catégories normales U15 (m+f), U14 (m+f) , les catégories sur-classées U13(m+f) , et la catégorie sous-classée U16(f). Bref, le nombre de catégories d'une equipe peut etre trés variables..... J'ai fait des essais en ajoutant a la structure de la table Equipes les champs suivants: - categorie_normale_m_0 -> qui pointe vers l'id de la 1ere catégorie masculine si associée - categorie_normale_m_1 -> idem - categorie_normale_m_2 -> idem - categorie_normale_f_0 -> qui pointe vers l'id de la 1ere catégorie féminine si associée - categorie_normale_m_1 -> idem | | | - categorie_surclassée_m_0[/b ] -> qui pointe vers l'id de la 1ere catégorie masculine sur-classée si associée | | | - [b]categorie_sousclassée_f_2[/ b] -> qui pointe vers l'id de la dernière catégorie feminine sous-classée si associée C'est vraiment lourdingue et peu esthetique du point de vue code.... je pense que mysql permet de faire mieux. (??) Alors j'ai crée une autre table grace a laquelle je relie les équipes et leurs eventuelles catégories associées. soit la table [b]equipe_categories - id -> int11, auto-incrementée. - id_equipe -> int11, pointe l'id de l'equipe . - id_categorie -> int11, pointe l'id de la catégorie . - type -> int4, spécifie le type de lien entre equipe et catégorie: normale, surclassé, sousclassé . Lorsque je liste mes equipes (sans clause LIMIT dans ma requete) j'extrais bien les données necessaires concernant l'equipe et les eventuelles catégories. Mais si je tente de paginer avec LIMIT (LIMIT $page,$page+$nb_affichage_par_ page) , rien ne va plus. (j'ai oté tous les ORDER BY ...) requete utilisée sans limit : SELECT t1.*, t2.*, t3.denomination as cat_denom FROM equipes AS t1 LEFT JOIN equipe_categories AS t2 ON t2.id_equipe=t1.id LEFT JOIN categories AS t3 ON t3.id=t2.id_categorie avec limit SELECT t1.*, t2.*, t3.denomination as cat_denom FROM equipes AS t1 LEFT JOIN equipe_categories AS t2 ON t2.id_equipe=t1.id LEFT JOIN categories AS t3 ON t3.id=t2.id_categorie LIMIT 0,5 =====> Alors, outre les redondances de nom des champs des tables (je sais j'aurais pû les definir proprement ^^), qu'est ce qui deconne? - Les relations entre les tables equipes <====> equipe_categories <====> Categories sont elles realistes ? - Mes requetes sont brouillonnes et merdiques ? - Je feuillette la doc MySQL5 ou je vais faire du bg ;) ? Et il faut ensuite que je rajoute les relations avec les joueurs ,pour editer mes convocations (via l'age du joueur et les ages min et max des categories) ..... NB: Google deviendra vraiment mon ami lorsque je passerai plus de temps a comprendre les infos que j'en retire plutot que les trolls qu'il me propose ^^. PS: Merci a ceux qui auront tenu jusqu'a la fin du topic :) Edit: j'ai saisi le topic sur wordpad, j'ai dû oublié de fermer une balise bold mais j'ai beau editer je ne la trouve pas, désolé ;)
Posté le 08 10 2009 à 18h11
|
 |
|
 |
 |
Euh... Tu as un MCD ? :s Parce que si tu as 3 listes (qui visiblement posent problème), je crois qu'il manque les relations correspondantes. Mais j'ai du mal à comprendre le système. Je ne sais pas s'il n'y aurait pas un problème de MCD derrière ton problème. Tu testes tes catégories dans phpmyadmin ? Je trouve bizarre que le limit fasse foirer ta requête. Je pensais qu'il ne faisait que sélectionner x ligne à partir de la ligne y. Qu'entends tu par "rien ne va plus" ?
Posté le 08 10 2009 à 20h10
|
 |
|
 |
 |
OMG le sujet... Je lis ça en entier dès que j'ai 30mn mon Dnepr :)
Posté le 09 10 2009 à 09h44
|
 |
|
 |
 |
hum...... tu as raison Ish , il doit y avoir un probleme de confusion entre mes données, et rien n'est ecrit, tout dans le crane. Je ne teste pas mes tables via phpmyadmin mais depuis mon code. Je vais faire l'essai et voir ce que ça donne. Dans l'immediat j'ai telecharcher la doc de MySql5 , ça ne fera pas de mal, mes precedents documents (pdf et bouquins) remontent a 2004....... je vais donc aller lire!
Posté le 09 10 2009 à 09h54
|
 |
|
 |
 |
Bon j'ai pas étudié en détail ton bouzin, mais AVANT tout tu dois définir un modèle de données, afin de déterminer les relations entre tes tables. Pour ce faire il existe un excelletissime logiciel dont il convient d'user et d'abuser : MySQL Workbench Si tu veux voir à quoi ca ressemble, ici une modélisation que (...) Edit : putain de troncature, donc une modélisation que j'avais fais dans le cadre d'un projet de développement pour une boite qui fait de la formation ;)
Posté le 09 10 2009 à 10h23
|
 |
|
 |
 |
Merci Ben, ne te penche pas plus sur mon bouzin, j'ai resolu mon probleme en imbriquant 2 Select ^^ . Oh, il existe ce genre d'outils? ça devrait m'aider :) Edit: arf, Benzouille, toujours d'aussi bon conseil, ici ou ailleurs! Bennnn, mon idôle, mon pala de référence ^^. J'ai commencé a bidouiller avec MySQL Workbench, rien de mieux pour destocker les infos memorielles vers des pdf!
Posté le 09 10 2009 à 10h59
|
 |
|
 |
 |
desolé de deterrer ca mais Dnepr, ca serait possible de voir ce que tu as fait pour administrer ton site, je suis en pleine reflexion pour mon club aussi ...
Posté le 19 04 2010 à 16h36
|
 |
|
 |
 |
Puisqu'il est déterré, j'en profite pour plussoier : commencez par faire votre diagramme d'entité-association^^. Et si je puis me permettre, passez par un ORM qui fera le mapping objet <-> table pour vous. Si c'est du PHP, choisissez Doctrine, de préférence intégré à Symfony.
Posté le 20 04 2010 à 08h45
|
 |
|
 |
 |
Mouais, enfin bon. Mettre du Symfony partout c'est pas forcément judicieux, et c'est difficile à prendre en main... Et tant qu'à investir du temps, autant arrêter PHP. ^^ Déjà utiliser PDO, c'est un pas en avant. :D
Posté le 20 04 2010 à 22h42
|
 |
|
 |
 |
ishi> pffff... 'spece de no life va ! ahaha mon gros chuck
Posté le 20 04 2010 à 23h07
|
 |
|
|
|
 |
 |
 |
|
 |
Sujets Base de données |
 |
|
Gestion Club (...)
Auteur : Dnepr Posté le 08 10 2009 à 18h11 12 Réponses (Nouveau sujet) Sujet visité 2667 fois
encore du tri (...)
Auteur : askhanir Posté le 24 02 2010 à 20h15 3 Réponses (Nouveau sujet) Sujet visité 1100 fois
PDO ou mysqli
Auteur : Pierrot Posté le 07 09 2009 à 15h13 6 Réponses (Nouveau sujet) Sujet visité 1475 fois
sql math jointure (...)
Auteur : doss Posté le 13 08 2009 à 15h15 7 Réponses (Nouveau sujet) Sujet visité 1391 fois
phpMyadmin
Auteur : o0o Posté le 20 07 2009 à 10h23 4 Réponses (Nouveau sujet) Sujet visité 1210 fois
CRUD php/mysql
Auteur : o0o Posté le 08 07 2009 à 15h51 4 Réponses (Nouveau sujet) Sujet visité 1667 fois
Connexion à distance
Auteur : LaGothine Posté le 15 06 2009 à 13h01 9 Réponses (Nouveau sujet) Sujet visité 2140 fois
SQL - naab
Auteur : LaGothine Posté le 02 06 2009 à 14h06 9 Réponses Sujet visité 1562 fois
Tri conditionnel
Auteur : askhanir Posté le 27 04 2009 à 10h05 4 Réponses (Nouveau sujet) Sujet visité 1411 fois
auto incremente et (...)
Auteur : senkante Posté le 03 04 2008 à 19h27 12 Réponses (Nouveau sujet) Sujet visité 2444 fois
|
|
 |
 |
 |
|