Aide pour répéter requete PHP/MySQL

Résolu/Fermé
sweetmemories Messages postés 46 Date d'inscription dimanche 19 juin 2005 Statut Membre Dernière intervention 4 mars 2011 - 21 janv. 2007 à 20:59
OufTete Messages postés 48 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 31 janvier 2007 - 22 janv. 2007 à 18:22
Tout d'abord merci à tous pour votre aide ,mon site avance...
Nouvelle demande ...
En effet, j'affiche les résultats de match dans un tableu.
Je fais mes requettes sur des tables differentes pour afficher les score (table tournois) et afficher une photo du joueur (table users).
La ca fonctionne trés bien à présent !
Mais voilà, pour afficher les scores avec des entetes du type :
le 1er est ...
le 2e est ...
Le 3e est ...
etc...
je fais celà:

$req_general = reqmysql("SELECT COUNT(tournois.joueur) AS partie, SUM(tournois.points) AS points, SUM(tournois.jetons) AS jetons, SUM(tournois.recave) AS recave, tournois.joueur, users.avatar, users.id, users.pseudo FROM tournois LEFT JOIN
users ON users.pseudo=tournois.joueur WHERE cg=2007 GROUP BY tournois.joueur ORDER BY points DESC, jetons DESC LIMIT 0,1");

while($reponse_general = mysql_fetch_array($req_general))
{
$resultat=$reponse_general['jetons']/$reponse_general['partie'];
$resultat2 = round($resultat, 2);
$jetons = $reponse_general['jetons']/4;

echo "
Le 1er est :
etc...

$req_general = reqmysql("SELECT COUNT(tournois.joueur) AS partie, SUM(tournois.points) AS points, SUM(tournois.jetons) AS jetons, SUM(tournois.recave) AS recave, tournois.joueur, users.avatar, users.id, users.pseudo FROM tournois LEFT JOIN
users ON users.pseudo=tournois.joueur WHERE cg=2007 GROUP BY tournois.joueur ORDER BY points DESC, jetons DESC LIMIT 1,1");

while($reponse_general = mysql_fetch_array($req_general))
{
$resultat=$reponse_general['jetons']/$reponse_general['partie'];
$resultat2 = round($resultat, 2);
$jetons = $reponse_general['jetons']/4;

echo "
Le 2e est :
etc...

$req_general = reqmysql("SELECT COUNT(tournois.joueur) AS partie, SUM(tournois.points) AS points, SUM(tournois.jetons) AS jetons, SUM(tournois.recave) AS recave, tournois.joueur, users.avatar, users.id, users.pseudo FROM tournois LEFT JOIN
users ON users.pseudo=tournois.joueur WHERE cg=2007 GROUP BY tournois.joueur ORDER BY points DESC, jetons DESC LIMIT 2,1");

while($reponse_general = mysql_fetch_array($req_general))
{
$resultat=$reponse_general['jetons']/$reponse_general['partie'];
$resultat2 = round($resultat, 2);
$jetons = $reponse_general['jetons']/4;

echo "
Le 3e est :
etc ...

et ainsi de suite pour les 10 premiers joueurs...

Mais à présent puis-je automatiser cela car si je veux afficher 40 joueurs par exemple il me faut autant de lignes?
Bien sur ça alourdit le code considérablement et de plus, vraiment pas pratique en cas de changement de code car autant de lignes a modifier...

J'espère avoir été assez clair...

Si vous avez une idée merci d'avance.
A voir également:

2 réponses

OufTete Messages postés 48 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 31 janvier 2007 10
21 janv. 2007 à 22:36
Salut,

Suffit de crée un boucle qui agit sur l'ensemble.... ;)

<?php
$i = 0; 
while($i =< 39) { //Ici, 39 pour t'afficher 40 joueurs....
	$req_general = reqmysql("SELECT COUNT(tournois.joueur) AS partie, SUM(tournois.points) AS points, SUM(tournois.jetons) AS jetons, SUM(tournois.recave) AS recave, tournois.joueur, users.avatar, users.id, users.pseudo FROM tournois LEFT JOIN
	users ON users.pseudo=tournois.joueur WHERE cg=2007 GROUP BY tournois.joueur ORDER BY points DESC, jetons DESC LIMIT " . $i . ",1");
	
	while($reponse_general = mysql_fetch_array($req_general))
	{
	$resultat=$reponse_general['jetons']/$reponse_general['partie'];
	$resultat2 = round($resultat, 2);
	$jetons = $reponse_general['jetons']/4;

	echo 'Le ' . $i+1 . 'e est:';
	}
}
?>


Logiquement sa devrais le faire comme sa !
1
sweetmemories Messages postés 46 Date d'inscription dimanche 19 juin 2005 Statut Membre Dernière intervention 4 mars 2011 4
22 janv. 2007 à 15:11
Merci et bravo c'est exactement ça sans oublier le $i++ à la fin !
Merci pour votre aide !
0
OufTete Messages postés 48 Date d'inscription samedi 17 mai 2003 Statut Membre Dernière intervention 31 janvier 2007 10
22 janv. 2007 à 18:22
Il y a pas de quoi ;)

P.S: désolé pour ce petit oubli :s
0