Pb de requetes et liaisons entre tables sql

Signaler
Messages postés
6
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
28 octobre 2009
-
Messages postés
6
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
28 octobre 2009
-
Bonjour,

Je suis débutant en PHP et quoique progressant rapidement, je me heurte aujourd'hui à un problème.

Je dispose d'une base de données sur laquelle j'ai deux tables :

1)Table "Match" (table simplifiée pour la question):

- id
- type_match : type de match (3 choix possibles : championnat, coupe, amical)
- date_match : date du match
- locaux : nom de l'équipe jouant à domicile
- score_locaux : score de l'équipe jouant à domicile
- visiteurs : nom de l'équipe jouant à l'extérieur
- score_visiteurs : score de l'équipe jouant à l'extérieur
- B1 : buteur N°1
- B2 : buteur N°2
- B3 : buteur N°3
- B4 : buteur N°4

2) Table "joueurs" (table simplifiée pour la question):

- id
- prenom
- nom
- age
- photo
- buts_championnat : buts marqué en match de championnat
- buts_amical : buts marqué en match amical
- buts_coupe : buts marqué en match de coupe

Voilà, ma question est la suivante :

Comment remplir automatiquement et mettre à jour les champs "buts_championnat", "buts_amical" et "buts_coupe" de la table "joueurs" lorsque j'insère des données dans ma table "match" ?

Exemple : En rentrant les détails d'un match amical au cours duquel TOTO à marqué deux buts, je voudrait que la fiche joueur de TOTO soit mise à jour automatiquement avec deux buts de plus à son actif (+2 dans le champ buts_amical).

Le but final étant de pouvoir afficher un tableau avec les meilleurs buteurs selon le type de compétition. (et idéalement, de pouvoir retrouver ,en cliquant sur chaque joueur, les matches durant lesquels il a marqué...)

Par avance, merci pour votre aide.

Bonne journée,

Golant.

2 réponses

Messages postés
345
Date d'inscription
mardi 1 juin 2004
Statut
Membre
Dernière intervention
17 octobre 2014
3
Pourquoi mettre à jour la table des joueurs ?
Pas besoin de conserver les résultats, quand tu veux le résultat, tu fais les requêtes nécessaires (select count...)
La difficulté viens des B1, B2, ...

Pour faire comme tu veux, au moment de l'update/insert du match, tu construis tes requêtes:

$chp = "buts_championnat" ou "buts_amical" ou "buts_coupe" suivant le type de match,
$sql "update joueurs set $chp $chp + 1 where id = $B1"
-> exécuter le sql
si $B2 != '', recommencer avec $B2
...

Si un même joueur mets 2 buts, il y aura 2 updates mais tant pis.

Comment feras-tu pour un score de 4 à 1 (5 buteurs) ?
et les joueurs qui marquent contre leur camp ?


thip
Messages postés
6
Date d'inscription
mercredi 27 décembre 2006
Statut
Membre
Dernière intervention
28 octobre 2009

Salut Thip,

Merci pour ta réponse. Je vais essayer de la mettre en application.

En ce qui concerne les buts, je ne prends en compte que ceux de mon équipe dont pas de pb.
Je n'ai pas pensé à faire des stats pour les joueurs qui marquent des CSC mais c'est une bonne idée, c'est assez marrant comme stat à faire (même si cela n'arrive pas tous les dimanches...).
A voir plus tard, déjà je vais essayer de mettre ça en application.

Je te tiens au courant, je risque surement d'avoir quelques difficultés lors de la mise en place mais je suis là pour apprendre, je posterai sur le forum si jamais je bloque.

Encore merci.

++

Golant.