Aide pour répéter requete PHP/MySQL
Résolu
sweetmemories
Messages postés
46
Date d'inscription
Statut
Membre
Dernière intervention
-
OufTete Messages postés 48 Date d'inscription Statut Membre Dernière intervention -
OufTete Messages postés 48 Date d'inscription Statut Membre Dernière intervention -
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.
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:
- Aide pour répéter requete PHP/MySQL
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Expert php pinterest - Télécharger - Langages
- Ligne à répéter en haut excel grisé ✓ - Forum Word
- Mysql error 2002 ✓ - Forum Linux / Unix
2 réponses
Salut,
Suffit de crée un boucle qui agit sur l'ensemble.... ;)
Logiquement sa devrais le faire comme sa !
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 !