[PHP/SQL] Classement match football

Résolu
MuronY Messages postés 47 Date d'inscription   Statut Membre Dernière intervention   -  
 jesaye -
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 794 Date d'inscription   Statut Contributeur Dernière intervention   160
 
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
jesaye
 
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