[PHP/SQL] Classement match football

Résolu
MuronY Messages postés 47 Statut Membre -  
 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 ^^
Configuration: Windows Vista
Firefox 2.0.0.11

2 réponses

  1. vlmath Messages postés 833 Statut Contributeur 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
  2. 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