Salut,
Je souhaite faire un petit site de consultation de résultats de foot qui pour le début va concerné uniquement l'euro 2004 mais avec une possibilité de reconduire le site pour un championnat. Ce site sera en PHP/MySQL.
Ce que je souhaite (entre autres) afficher sur ce site :
Liste des équipes participants à un championnat (ici l'Euro)
Liste des équipes de chaque groupe
Liste des matchs par groupe
Résultats des matchs par groupe
Classement par groupe
Bref rien de compliquer.
Je suis actuellement au stade de l'analyse et surtout de la définition des bases.
C'est là que cela se complique car j'ai plusieurs idées et je ne sais pas laquel choisir. (Remarque : je débute en PHP/MySQL mais pas en prog..)
IDEE A (idée d'un ami)
Créer 3 tables:
Table EQUIPE : idEquipe, NomEquipe
Table COMPETITION : idCompetition, NomCompetition, NombreGroupe, Gr1, Gr2, Gr3, Gr4, Gr5, Gr6, Gr7, Gr8
Table MATCH : idMatch, idCompetition, Date, idEquipeA, idEquipeB, ScoreA, ScoreB (etc...)
Concernant la table COMPETITION : Une compétition de type euro possède des groupes (le nombre est dans NombreGroupe). Au max il y a 8 groupes.
GrX contient la liste des identifiants équipes de chaque groupe séparé par une virgule.
Avec ces tables là, le gros soucis que j'ai, c'est d'arrivé à classer les équipes par groupe. J'ai trouvé une petite astuce en créant un tableau contenant l'identifiant, le nom et le groupe de l'équipe. Est ce une bonne solution ? Travailler avec des tableaux et faire un tas de boucles dedans pour retrouver le groupe de l'équipe et/ou son nom ?
IDEE B
Même table que précédement SAUF que je supprime les GrX
et j'ajoute une Table EquipeParticipante : idEqPa, idCompetition, idEquipe, Gr
Gr contient une valeur de 1 à 8 pour définir le groupe dans laquel l'équipe se trouve.
Rien qu'avec cette table je peux facilement faire des requettes pour avoir
- La liste des équipes participantes à une compétition choisis
- La liste des équipes par groupe
- Vérifier rapidement s'il y a pas eu une erreur de saisie dans les matchs (du style EqA du groupe A contre EqB du groupe D en phase Championnat)
Mes interrogations :
Est ce mieux de faire peu de requette SQL, créer des tableaux sur le serveur (le temps d'exécution du script), et faire un tas de boucles sur les tableaux pour retrouver une info ?
Ou alors est ce mieux de faire plein de petites requettes plus ou moins compliqués pour avoir le même résultats mais en ajoutant une table ?
Merci pour vos infos