affichage d'un tableau par tri en DESC aide svp ???

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : affichage d'un tableau par tri en DESC aide svp ???

par zizou59 » 05 oct. 2006, 22:30

oui j'ai suivi les instruction de cyrano et tous bien reflechi c'est vrai qu'on peu pas faire mieux!!!

bon je reste sur ce genre de tri merci a tous... :wink:

par iclo » 05 oct. 2006, 22:00

Je crois bien que ce que tu décris est ce que Cyrano t'a posté.
Si ce n'est pas ça, il faut que tu nous explique mieux ce que tu veux obtenir, notamment avec exemple concrêt.

par zizou59 » 05 oct. 2006, 21:31

ok marci pour ton aide cyrano !!!
donc pour résumer je veux que mes equipe soit classer dans un premlier temp par

:arrow: points le plus logique

:arrow: ensuite par diférence de but du + au -

:arrow: et enfin si egalité de diference bein par raport au but pour'bp' du + au moins!!!

par Cyrano » 05 oct. 2006, 21:25

Le tri va se faire par ordre de priorité : si tu as par un exemple un tri sur trois colonnes, le tri sera effectué d'abord sur la première : s'il y a des égalités sur cette première colonne entre plusieurs lignes, le tri sera alors refait sur la seconde, puis, toujours en cas d'égalité sur la troisième.

Donc ce qu'il faut que tu détermines, c'est comment tu dois classer tes clubs.

Éventuellement, fais le classement à la main et affiche-nous ça ici qavec les explications qu'on puisse t'indiquer comment mettre tes clauses.

par zizou59 » 05 oct. 2006, 21:20

ouep j'ai très bien saisi cyrano mais a tu bien vérifié?

par pts no prob
gagner no prob mais après regarde là plus de classement décroissant!!!


c'est la methode que j'ai faites!!!
:wink:

par Cyrano » 05 oct. 2006, 21:11

Bon, ben déjà, c'est pas très sorcier sur la table des résultats :
une simple requête sans tri donne ceci :

Code : Tout sélectionner

mysql> SELECT * FROM `resltat_match`; +--------+-----------------+-----+----+---+---+---+----+----+-----+---------------------+ | numero | club | pts | jo | g | n | p | bp | bc | dif | pen | +--------+-----------------+-----+----+---+---+---+----+----+-----+---------------------+ | 1 | UXEM A.AM.J. 3 | 7 | 3 | 1 | 1 | 1 | 5 | 3 | +2 | opsssssssssssssssss | | 2 | TETEGHEM US 3 | 9 | 3 | 2 | 0 | 1 | 7 | 6 | +1 | opsssssssssssssssss | | 3 | GHYVELDE JS 3 | 4 | 3 | 0 | 1 | 2 | 4 | 10 | -6 | opsssssssssssssssss | | 4 | P.SYNTHE SM 3 | 8 | 3 | 1 | 2 | 0 | 5 | 3 | +2 | opsssssssssssssssss | | 5 | ST POL USCC 2 | 10 | 3 | 2 | 1 | 0 | 7 | 1 | +6 | opsssssssssssssssss | | 6 | WARHEM US 2 | 7 | 3 | 1 | 1 | 1 | 2 | 4 | -2 | opsssssssssssssssss | | 7 | BIERNE FC | 7 | 3 | 1 | 1 | 1 | 4 | 4 | +0 | opsssssssssssssssss | | 8 | QUAEDYPRE C.O 2 | 4 | 3 | 0 | 1 | 2 | 2 | 9 | -7 | opsssssssssssssssss | | 9 | MORINS F.C. | 4 | 3 | 0 | 1 | 2 | 3 | 5 | -2 | opsssssssssssssssss | | 10 | DKE DOCKERS | 10 | 3 | 2 | 1 | 0 | 10 | 3 | +7 | opsssssssssssssssss | | 11 | ASPTT DUNKERQ | 7 | 3 | 1 | 1 | 1 | 5 | 5 | +0 | opsssssssssssssssss | | 12 | COUDEKERQUE R | 7 | 3 | 1 | 1 | 1 | 5 | 6 | -1 | opsssssssssssssssss | +--------+-----------------+-----+----+---+---+---+----+----+-----+---------------------+ 12 rows in set (0.00 sec)
Rajoutons quelques clauses de tri :

Code : Tout sélectionner

mysql> SELECT * FROM `resltat_match` -> ORDER BY pts DESC, g DESC, n DESC, p DESC; +--------+-----------------+-----+----+---+---+---+----+----+-----+---------------------+ | numero | club | pts | jo | g | n | p | bp | bc | dif | pen | +--------+-----------------+-----+----+---+---+---+----+----+-----+---------------------+ | 5 | ST POL USCC 2 | 10 | 3 | 2 | 1 | 0 | 7 | 1 | +6 | opsssssssssssssssss | | 10 | DKE DOCKERS | 10 | 3 | 2 | 1 | 0 | 10 | 3 | +7 | opsssssssssssssssss | | 2 | TETEGHEM US 3 | 9 | 3 | 2 | 0 | 1 | 7 | 6 | +1 | opsssssssssssssssss | | 4 | P.SYNTHE SM 3 | 8 | 3 | 1 | 2 | 0 | 5 | 3 | +2 | opsssssssssssssssss | | 1 | UXEM A.AM.J. 3 | 7 | 3 | 1 | 1 | 1 | 5 | 3 | +2 | opsssssssssssssssss | | 6 | WARHEM US 2 | 7 | 3 | 1 | 1 | 1 | 2 | 4 | -2 | opsssssssssssssssss | | 7 | BIERNE FC | 7 | 3 | 1 | 1 | 1 | 4 | 4 | +0 | opsssssssssssssssss | | 11 | ASPTT DUNKERQ | 7 | 3 | 1 | 1 | 1 | 5 | 5 | +0 | opsssssssssssssssss | | 12 | COUDEKERQUE R | 7 | 3 | 1 | 1 | 1 | 5 | 6 | -1 | opsssssssssssssssss | | 3 | GHYVELDE JS 3 | 4 | 3 | 0 | 1 | 2 | 4 | 10 | -6 | opsssssssssssssssss | | 8 | QUAEDYPRE C.O 2 | 4 | 3 | 0 | 1 | 2 | 2 | 9 | -7 | opsssssssssssssssss | | 9 | MORINS F.C. | 4 | 3 | 0 | 1 | 2 | 3 | 5 | -2 | opsssssssssssssssss | +--------+-----------------+-----+----+---+---+---+----+----+-----+---------------------+ 12 rows in set (0.00 sec)
Et encore j'aurais pu en rajouter, il suffit simplement de préciser pour chaque colonne dans quel ordre tu le veux, par défaut, c'est ASC (du plus petit au plus grand, mais tu peux demander en ordre DESC.

Là par exemple tu pourrais rajouter la colonne dif pour le cas où ça se jouerait sur le goal-average.

par zizou59 » 05 oct. 2006, 20:37

oui c'est exactement celà!!!

la premiere table reprend tous les resultat d'un classement qui mise à jour grace a la deuxième qui elle reprend chaque match avec les score!!!

voilà donc j'attent vos réponse les amis !!!

parce que mçme en métant le tri juste by pts le tbleau n'est pas logique!!!

doit y avoir un truc mais quoi :idea:

:arrow: je cherche aussi jvous rassure!!! :roll:

par Victor BRITO » 05 oct. 2006, 16:43

Salut!

Essaie de regarder du côté de la fonction "GROUP BY". :wink:

par Vikchill » 05 oct. 2006, 16:37

Je suis pas sûr de comprendre tes règles de gestion, sans description c'est pas évident.

Ta table resltat_match ressemble beaucoup à une table de classement (club, pts, matchs joués, matchs gagnés, matchs perdus, matchs nuls, etc...) tandis que ta table gst_match a l'air de stocker les informations de chaque match.

Si c'est bien ça, tu dois mettre à jour la première table en fonction des données de la seconde? Auquel cas il suffit de faire une requête sur la première pour avoir le classement non?

par zizou59 » 05 oct. 2006, 14:10

ok donc pour info voici ma structure de table:

=> resltat_match
-- --------------------------------------------------------

--
-- Structure de la table `resltat_match`
--

CREATE TABLE `resltat_match` (
`numero` int(3) NOT NULL,
`club` text NOT NULL,
`pts` int(3) NOT NULL default '0',
`jo` int(3) NOT NULL default '0',
`g` int(3) NOT NULL default '0',
`n` int(3) NOT NULL default '0',
`p` int(3) NOT NULL default '0',
`bp` int(3) NOT NULL default '0',
`bc` int(3) NOT NULL default '0',
`dif` text NOT NULL,
`pen` text NOT NULL,
PRIMARY KEY (`numero`)
) TYPE=MyISAM AUTO_INCREMENT=13 ;

--
-- Contenu de la table `resltat_match`
--

INSERT INTO `resltat_match` (`numero`, `club`, `pts`, `jo`, `g`, `n`, `p`, `bp`, `bc`, `dif`, `pen`) VALUES (1, 'UXEM A.AM.J. 3', 7, 3, 1, 1, 1, 5, 3, '+2', 'opsssssssssssssssss'),
(2, 'TETEGHEM US 3', 9, 3, 2, 0, 1, 7, 6, '+1', 'opsssssssssssssssss'),
(3, 'GHYVELDE JS 3', 4, 3, 0, 1, 2, 4, 10, '-6', 'opsssssssssssssssss'),
(4, 'P.SYNTHE SM 3', 8, 3, 1, 2, 0, 5, 3, '+2', 'opsssssssssssssssss'),
(5, 'ST POL USCC 2', 10, 3, 2, 1, 0, 7, 1, '+6', 'opsssssssssssssssss'),
(6, 'WARHEM US 2', 7, 3, 1, 1, 1, 2, 4, '-2', 'opsssssssssssssssss'),
(7, 'BIERNE FC ', 7, 3, 1, 1, 1, 4, 4, '+0', 'opsssssssssssssssss'),
(8, 'QUAEDYPRE C.O 2', 4, 3, 0, 1, 2, 2, 9, '-7', 'opsssssssssssssssss'),
(9, 'MORINS F.C. ', 4, 3, 0, 1, 2, 3, 5, '-2', 'opsssssssssssssssss'),
(10, 'DKE DOCKERS ', 10, 3, 2, 1, 0, 10, 3, '+7', 'opsssssssssssssssss'),
(11, 'ASPTT DUNKERQ ', 7, 3, 1, 1, 1, 5, 5, '+0', 'opsssssssssssssssss'),
(12, 'COUDEKERQUE R ', 7, 3, 1, 1, 1, 5, 6, '-1', 'opsssssssssssssssss');
=> gst_match

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

--
-- Structure de la table `gst_match`
--

CREATE TABLE `gst_match` (
`numero` int(11) NOT NULL,
`equipe` text NOT NULL,
`but_p` int(3) NOT NULL default '0',
`but_c` int(3) NOT NULL default '0',
`gp` char(1) NOT NULL default '',
`n_match` int(3) NOT NULL default '0',
`n_tour` int(3) NOT NULL default '0',
`date` date NOT NULL default '0000-00-00',
`heure` time NOT NULL default '00:00:00',
`com` text NOT NULL,
`N_journee` int(3) NOT NULL default '0',
`pt` int(3) NOT NULL default '0',
`cpt` int(3) NOT NULL default '0',
PRIMARY KEY (`numero`)
) TYPE=MyISAM AUTO_INCREMENT=55 ;

--
-- Contenu de la table `gst_match`
--

INSERT INTO `gst_match` (`numero`, `equipe`, `but_p`, `but_c`, `gp`, `n_match`, `n_tour`, `date`, `heure`, `com`, `N_journee`, `pt`, `cpt`) VALUES (22, 'QUAEDYPRE C.O 2', 2, 4, 'p', 1, 21, '2006-09-10', '10:30:00', 'rien', 1, 1, 1),
(23, 'WARHEM US 2', 2, 1, 'g', 0, 23, '2006-09-10', '09:00:00', 'rien', 1, 4, 4),
(24, 'BIERNE FC', 1, 2, 'p', 1, 23, '2006-09-10', '09:00:00', 'rien', 1, 1, 1),
(25, 'TETEGHEM US 3', 2, 1, 'g', 0, 25, '2006-09-10', '10:00:00', 'rien', 1, 4, 4),
(26, 'MORINS F.C.', 1, 2, 'p', 1, 25, '2006-09-10', '10:00:00', 'rien', 1, 1, 1),
(27, 'P.SYNTHE SM 3', 0, 0, 'n', 0, 27, '2006-09-10', '10:30:00', 'rien', 1, 2, 2),
(21, 'ASPTT DUNKERQ', 4, 2, 'g', 0, 21, '2006-09-10', '10:30:00', 'rien', 1, 4, 4),
(20, 'COUDEKERQUE R', 1, 1, 'n', 1, 1, '2006-09-10', '10:00:00', 'rien', 1, 2, 2),
(19, 'DKE DOCKERS', 1, 1, 'n', 0, 1, '2006-09-10', '10:00:00', 'rien', 1, 2, 2),
(28, 'UXEM A.AM.J. 3', 0, 0, 'n', 1, 27, '2006-09-10', '10:30:00', 'rien', 1, 2, 2),
(29, 'ST POL USCC 2', 4, 0, 'g', 0, 29, '2006-09-10', '15:00:00', 'rien', 1, 4, 4),
(30, 'GHYVELDE JS 3', 0, 4, 'p', 1, 29, '2006-09-10', '15:00:00', 'rien', 1, 1, 1),
(31, 'BIERNE FC', 0, 0, 'n', 0, 31, '2006-09-24', '10:30:00', 'rien', 2, 2, 3),
(32, 'ASPTT DUNKERQ', 0, 0, 'n', 1, 31, '2006-09-24', '10:30:00', 'rien', 2, 2, 6),
(33, 'MORINS F.C.', 0, 0, 'n', 0, 33, '2006-09-24', '10:30:00', 'rien', 2, 2, 3),
(34, 'WARHEM US 2', 0, 0, 'n', 1, 33, '2006-09-24', '10:30:00', 'rien', 2, 2, 6),
(35, 'QUAEDYPRE C.O 2', 0, 0, 'n', 0, 35, '2006-09-24', '10:30:00', 'rien', 2, 2, 3),
(36, 'ST POL USCC 2', 0, 0, 'n', 1, 35, '2006-09-24', '10:30:00', 'rien', 2, 2, 6),
(37, 'COUDEKERQUE R', 1, 3, 'p', 0, 37, '2006-09-24', '08:45:00', 'rien', 2, 1, 3),
(38, 'P.SYNTHE SM 3', 3, 1, 'g', 1, 37, '2006-09-24', '08:45:00', 'rien', 2, 4, 6),
(39, 'UXEM A.AM.J. 3', 2, 3, 'p', 0, 39, '2006-09-24', '10:00:00', 'rien', 2, 1, 3),
(40, 'TETEGHEM US 3', 3, 2, 'g', 1, 39, '2006-09-24', '10:00:00', 'rien', 2, 4, 8),
(41, 'GHYVELDE JS 3', 2, 4, 'p', 0, 41, '2006-09-24', '10:30:00', 'rien', 2, 1, 2),
(42, 'DKE DOCKERS', 4, 2, 'g', 1, 41, '2006-09-24', '10:30:00', 'rien', 2, 4, 6),
(43, 'ASPTT DUNKERQ', 1, 3, 'p', 0, 43, '2006-10-01', '10:30:00', 'rien', 3, 1, 7),
(44, 'ST POL USCC 2', 3, 1, 'g', 1, 43, '2006-10-01', '10:30:00', 'rien', 3, 4, 10),
(45, 'BIERNE FC', 3, 2, 'g', 0, 45, '2006-10-01', '10:30:00', 'rien', 3, 4, 7),
(46, 'MORINS F.C.', 2, 3, 'p', 1, 45, '2006-10-01', '10:30:00', 'rien', 3, 1, 4),
(47, 'DKE DOCKERS', 5, 0, 'g', 0, 47, '2006-10-01', '10:00:00', 'rien', 3, 4, 10),
(48, 'QUAEDYPRE C.O 2', 0, 5, 'p', 1, 47, '2006-10-01', '10:00:00', 'rien', 3, 1, 4),
(49, 'TETEGHEM US 3', 2, 3, 'p', 0, 49, '2006-10-01', '10:00:00', 'rien', 3, 1, 9),
(50, 'COUDEKERQUE R', 3, 2, 'g', 1, 49, '2006-10-01', '10:00:00', 'rien', 3, 4, 7),
(51, 'WARHEM US 2', 0, 3, 'p', 0, 51, '2006-10-01', '09:00:00', 'rien', 3, 1, 7),
(52, 'UXEM A.AM.J. 3', 3, 0, 'g', 1, 51, '2006-10-01', '09:00:00', 'rien', 3, 4, 7),
(53, 'P.SYNTHE SM 3', 2, 2, 'n', 0, 53, '2006-10-01', '10:30:00', 'rien', 3, 2, 8),
(54, 'GHYVELDE JS 3', 2, 2, 'n', 1, 53, '2006-10-01', '10:30:00', 'rien', 3, 2, 4);

par Vikchill » 05 oct. 2006, 12:16

Comme le dit Cyrano, avec la structure et un jeu d'essai on pourra en dire plus, mais a priori le plus simple est de tout avoir dans une requête, donc soit de calculer les données de chaque club en PHP puis de la stocker dans une table "classement" (pas complètement idiot puisqu'il s'agit de données fixes pendant une semaine en général) sur laquelle on fait un vieux SELECT ... ORDER BY... très simple, soit de faire une requête un peu plus compliquée qui te fait deux pierres d'un coup.

par fred9999 » 05 oct. 2006, 09:35

salut

Avec des requetes combinée c'es peut etre faisable (quoique j'ai jamais testé :lol: )

mais avec sa simple requete avoir trois agents de tri différent la j'en doute :?

par Cyrano » 04 oct. 2006, 19:20

Si, on peut avoir plusieurs clauses de tri dans la même requête. Mais pour pouvoir répondre convenablement, il faudrait avoir la structure des tables utilisées et un jeu d'essai pour pouvoir faire éventuellement des essais en local. J'avais fait un truc du genre pour un club de foot il y a pas mal de temps et je me souviens que la requête pour afficher le classement était assez gratinée, mais c'est faisable.

par jojolapine » 04 oct. 2006, 18:37

salut

tu ne peut pas ranger par trois termes en meme temps juste un seul

désolé
#

Vous mélangez ASC et DESC.

SELECT * FROM t1 ORDER BY key_part1 DESC, key_part2 ASC;
qui a raison ? (j'en sais pas plus j'ai pas trouvé plus d'exemples :roll: )

par fred9999 » 04 oct. 2006, 16:21

en fait la solution pour moi serai de mettre le nombre de points comme tri par défaut
ensuite avec des liens on renvoi le tri qu'on souhaite