[PHP/SQL] Classement match football

Résolu/Fermé
MuronY Messages postés 47 Date d'inscription vendredi 18 mai 2007 Statut Membre Dernière intervention 27 août 2008 - 7 févr. 2008 à 17:24
 jesaye - 23 mars 2011 à 10:19
Bonjour,

Je doit confectionner un tableau de classement d'equipe de football par rapport a leur division (et oui on ne classe pas les equipes de D2 avec les equipe de D1)
J'ai 3 tables dans ma base de donnée :


DIVISION
numdiv
nomdiv


EQUIPE
numequi
nomequi
vilequi
numdiv


JOUE
numequipd(numero de l'equipe a domicile)
numequipe(numero de l'equipe a l'exterieur)
scored
scoree
datem

(Les clefs primaire sont soulignées)

Et voila la base de donnée

-- phpMyAdmin SQL Dump
-- version 2.6.1
-- https://www.phpmyadmin.net/
-- 
-- Serveur: localhost
-- Généré le : Jeudi 07 Février 2008 à 17:04
-- Version du serveur: 4.1.9
-- Version de PHP: 4.3.10
-- 
-- Base de données: `match`
-- 

-- 
-- Structure de la table `division`
-- 

CREATE TABLE `division` (
  `numdiv` int(2) NOT NULL default '0',
  `nomdiv` text NOT NULL,
  PRIMARY KEY  (`numdiv`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- 
-- Contenu de la table `division`
-- 

INSERT INTO `division` VALUES (1, '1er division');
INSERT INTO `division` VALUES (2, '2eme division');
INSERT INTO `division` VALUES (3, '3eme division');

-- --------------------------------------------------------

-- 
-- Structure de la table `equipe`
-- 

CREATE TABLE `equipe` (
  `numequi` int(3) NOT NULL default '0',
  `nomequi` text NOT NULL,
  `vilequi` text NOT NULL,
  `numdiv` int(2) NOT NULL default '0',
  PRIMARY KEY  (`numequi`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- 
-- Contenu de la table `equipe`
-- 

INSERT INTO `equipe` VALUES (2, 'Olympique de marseille', 'Marseille', 1);
INSERT INTO `equipe` VALUES (3, 'PSG', 'Paris', 1);
INSERT INTO `equipe` VALUES (4, 'St-etienne', 'St-etienne', 1);
INSERT INTO `equipe` VALUES (1, 'Lyon', 'Lyon', 1);
INSERT INTO `equipe` VALUES (5, 'FC Nantes atlantique', 'Nantes', 2);
INSERT INTO `equipe` VALUES (6, 'Racing paris', 'Paris', 2);
INSERT INTO `equipe` VALUES (7, 'Racing club de Lens', 'Lens', 1);

-- --------------------------------------------------------

-- 
-- Structure de la table `joue`
-- 

CREATE TABLE `joue` (
  `numequipd` int(3) NOT NULL default '0',
  `numequipe` int(3) NOT NULL default '0',
  `scored` int(2) NOT NULL default '0',
  `scoree` int(2) NOT NULL default '0',
  `datem` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`numequipd`,`numequipe`,`datem`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

-- 
-- Contenu de la table `joue`
-- 

INSERT INTO `joue` VALUES (0, 0, 0, 0, '0000-00-00 00:00:00');
INSERT INTO `joue` VALUES (4, 1, 0, 2, '2011-01-00 10:30:00');
INSERT INTO `joue` VALUES (2, 3, 8, 4, '2007-00-00 15:00:00');
INSERT INTO `joue` VALUES (4, 3, 10, 6, '2006-00-00 17:30:30');
INSERT INTO `joue` VALUES (2, 4, 5, 10, '2009-00-00 00:00:00');
INSERT INTO `joue` VALUES (1, 7, 10, 0, '2008-00-00 00:00:00');
INSERT INTO `joue` VALUES (5, 6, 5, 6, '2006-00-00 00:00:00');    



Je peut fournir le debut de page PHP que j'ai commencer et qui permet d'afficher les match par division donc rien d'exeptionnel ^^
J'ai aussi une piste de requete SQL mais elle ne marche pas tous a fait correctement : /
J'ai penser a des WHILE mais j'avoue que au bout du deuxieme je n'y arrive plus
Si quelqu'un pouvait m'aider sa serai genialisme ^^
A voir également:

2 réponses

vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
7 févr. 2008 à 19:50
Salut,

Pour le classement, je te propose de ne trier que la sortie (l'affichage) et non la base de SQL.

Pour l'impression à l'écran, tu peux faire quelque chose comme :

for( $i=1; $i<=3; $i++ )
{
  print "Ligne $i :";
  while( ... ) // requête while standard, avec l'affectation de l'enregistrement actuel
  {
    if( $row['numdiv'] != $i ) continue;
    
    // Impression de la ligne pout ton équipe uniquement si elle fait parti de la ligue $i
  }
  print '<br><br>';
}


Tu devras classer suivant les champs que tu veux directement lors de l'execution de la requête sql, grâce à un "ORDER BY".

@Bientôt
4
Bonjour avez vous fini votre classement foot car moi je suis à la recherche d'aide pour coder en php apres avoir fait mes tables.
0