FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » probleme nombre de retour requete sql
 

probleme nombre de retour requete sql

Il y a 381 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : probleme nombre de retour requete sql
 
Plus d'informations

salut à tous.
 
j'ai un problème en php avec une requete sql.  
 
je fais ma requete, il m'indique le bon nombre de résultats ($res entrees) mais quand je met en forme dans un tableau, il me retourne sustematiquement et quelque soit la requete un nombre de lignes egal au nombre de résultats ($res entrees) moins un !!  
 
voici un bout de code :  

Code :
  1. $requete12="SELECT nom,
  2.   prenom,
  3.   phpl_joueurs.id as id_joueur,
  4.   matchs,
  5.   remp,
  6.   tps,
  7.   phpl_effectif.id,
  8.   AVG(note),
  9.   votes.id_effectif
  10.              FROM phpl_joueurs, phpl_effectif, phpl_compo, phpl_equipes, phpl_matchs, votes
  11.              WHERE phpl_joueurs.id=phpl_effectif.id_joueur
  12.              AND phpl_effectif.id=phpl_compo.id_effectif
  13.              AND votes.id_effectif=phpl_compo.id_effectif
  14.              AND phpl_compo.id_match='$id_match'
  15.          AND votes.id_match='$id_match'
  16.              AND phpl_equipes.id=phpl_effectif.id_equipe
  17.              AND phpl_matchs.id=phpl_compo.id_match
  18.          AND votes.note > '0'
  19.              GROUP BY votes.id_effectif
  20.              ORDER BY AVG(note) DESC";
  21.   $resultats12=mysql_query($requete12) or die (mysql_error());
  22.   $row12 = mysql_fetch_array($resultats12);
  23.   $res = MYSQL_NUM_ROWS($resultats12);
  24.  
  25.   echo" $res entrees ";
  26. if (!$row12)
  27. {echo"Pas encore de votes pour ce match.";}
  28. else
  29. {
  30.    echo"<table width=\"400\" align=\"center\">
  31.    <tr>
  32.    <th class=\"phpA\">Joueur</th>
  33.    <th class=\"phpAc\">Moyenne</th>
  34.    <th class=\"phpAc\">Tps de jeu</th>
  35.    </tr>";
  36.        $i=0 ;
  37.   while (
  38.   $row12=mysql_fetch_array($resultats12))
  39.   {
  40.       echo"<tr><td valign=\"top\" align=\"left\" class=\"phpA\"> $row12[0] $row12[1] </td>
  41.       <td class=\"phpAc\"><strong> $row12[7] </strong> </td>
  42.       <td class=\"phpAc\">  $row12[5] min </td></tr>";
  43.     $i++;
  44.   }
  45. }


Message édité par benoit_ le 24-09-2006 à 14:57:55

Profil : Pointeur
Plus d'informations

bha c'est logique :o
tu récupère la première ligne avant de compter le nombre de lignes puis tu boucles sur les autres ...
 
ps : pourquoi tu récupère toutes ces donnée dans ta requete si ce n'est que pour en afficher que 4 ?
et a quoi te sert ton $i ?

Plus d'informations

merci, voila donc le code "réparé" et épuré  ;)  
 

Code :
  1. $requete12="SELECT nom,
  2.   prenom,
  3.   tps,
  4.   AVG(note)
  5.              FROM
  6.              phpl_joueurs,
  7.              phpl_effectif,
  8.              phpl_compo,
  9.              phpl_equipes,
  10.              phpl_matchs,
  11.              votes
  12.              WHERE
  13.                      phpl_joueurs.id=phpl_effectif.id_joueur
  14.              AND     phpl_effectif.id=phpl_compo.id_effectif
  15.              AND     votes.id_effectif=phpl_compo.id_effectif
  16.              AND     phpl_compo.id_match='$id_match'
  17.              AND     votes.id_match='$id_match'
  18.              AND     phpl_equipes.id=phpl_effectif.id_equipe
  19.              AND    phpl_matchs.id=phpl_compo.id_match
  20.              AND     votes.note > '0'
  21.              GROUP BY votes.id_effectif
  22.              ORDER BY AVG(note) DESC";
  23.   $resultats12=mysql_query($requete12) or die (mysql_error());
  24.   $res = MYSQL_NUM_ROWS($resultats12);
  25.  
  26.   echo" $res entrees ";
  27. if ($res == '0')
  28. {echo"Pas encore de votes pour ce match.";}
  29. else
  30. {
  31.    echo"<table width=\"400\" align=\"center\">
  32.    <tr>
  33.    <th class=\"phpA\">Joueur</th>
  34.    <th class=\"phpAc\">Moyenne</th>
  35.    <th class=\"phpAc\">Tps de jeu</th>
  36.    </tr>";
  37.   while (
  38.   $row12=mysql_fetch_array($resultats12))
  39.   {
  40.       echo"<tr><td valign=\"top\" align=\"left\" class=\"phpA\"> $row12[0] $row12[1] </td>
  41.       <td class=\"phpAc\"><strong> $row12[3] </strong> </td>
  42.       <td class=\"phpAc\">  $row12[2] min </td></tr>";
  43.   }
  44.     echo"</table>";
  45.     }


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » probleme nombre de retour requete sql
 

Annonces Google
Publicité