Jointures ! [PHP] - Programmation
Marsh Posté le 11-01-2002 à 22:24:55
essaye un mysql_num_rows($resultat) pour voir combien tu as de lignes.
si tu n'en as pas le même que sous phpmyadmin, c'est ta ligne de requête qui bugge.
Marsh Posté le 11-01-2002 à 23:06:25
c'est pas normal donne voir ton code un peu plus en détail ...
Marsh Posté le 11-01-2002 à 23:09:27
Voici la partie faisant défaut :
<?
$nbrresult = mysql_num_rows($resultat);
while ($ligne = mysql_fetch_array($resultat)) {
$vote1 = $ligne[vote_1];
$vote2 = $ligne[vote_2];
$vote3 = $ligne[vote_3];
$vote4 = $ligne[vote_4];
$vote5 = $ligne[vote_5];
$nbre_etoile = $vote1*1 + $vote2*2 + $vote3*3 + $vote4*4 + $vote5*5;
if ($vote1 == 0 && $vote2 == 0 && $vote3 == 0 && $vote4 == 0 && $vote5 == 0) {
$nbre_etoile2 = "<img src=\"img/star_0.gif\" alt=\"Votez !\" border=\"0\">";
} else {
$nbre_etoile2 = $nbre_etoile / ($vote1 + $vote2 + $vote3 + $vote4 + $vote5);
if (($nbre_etoile2 >= 1) & ($nbre_etoile2 < 2)) { $nbre_etoile2 = "<img src=\"img/star_1.gif\" alt=\"Votez !\" border=\"0\">"; }
if (($nbre_etoile2 >= 2) & ($nbre_etoile2 < 3)) { $nbre_etoile2 = "<img src=\"img/star_2.gif\" border=\"0\">"; }
if (($nbre_etoile2 >= 3) & ($nbre_etoile2 < 4)) { $nbre_etoile2 = "<img src=\"img/star_3.gif\" alt=\"Votez !\" border=\"0\">"; }
if (($nbre_etoile2 >= 4) & ($nbre_etoile2 < 5)) { $nbre_etoile2 = "<img src=\"img/star_4.gif\" alt=\"Votez !\" border=\"0\">"; }
if (($nbre_etoile2 == 5)) { $nbre_etoile2 = "<img src=\"img/star_5.gif\" alt=\"Votez !\" border=\"0\">"; }
}
printf("<tr><td width=\"155\" class=\"menunongras\" bgcolor=\"#F2F2F2\" height=\"18\">" );
printf("<div align=\"left\"> $ligne[plateforme]</div></td>" );
printf("<td width=\"110\" class=\"menunongras\" bgcolor=\"#D9D9D9\" height=\"18\"><div align=\"center\">$ligne[version]</div></td>" );
printf("<td width=\"60\" class=\"menunongras\" bgcolor=\"#F2F2F2\" height=\"18\"><div align=\"center\">$ligne[taille]</div></td>" );
printf("<td width=\"70\" class=\"menunongras\" bgcolor=\"#D9D9D9\" height=\"18\"><div align=\"center\">[$ligne[nb]]<a href=\"?marque=$marque&modele=$modele&id=$ligne[id]\"><img src=\"img/hit.gif\" width=\"18\" height=\"19\" border=\"0\" align=\"absmiddle\" alt=\"Téléchargement version $ligne[version] pour $ligne[plateforme]\"></a></div></td>" );
printf("<td width=\"76\" class=\"menunongras\" bgcolor=\"#F2F2F2\" height=\"18\"><div align=\"center\">$dat</div></td>" );
printf("<td width=\"100\" class=\"menunongras\" bgcolor=\"#D9D9D9\" height=\"18\"><div align=\"center\">" );
commentaire($ligne[id]);
printf("</div></td>" );
printf("<td width=\"118\" class=\"menunongras\" bgcolor=\"#FFFFFF\" height=\"18\"><div align=\"center\"><a href=\"vote.php?marque=$marque&modele=$modele&id
vote=$ligne[id]&titre=$title\">$nbre_etoile2</a>
</div></td>" );
printf("</tr>" );
printf("<tr bgcolor=\"#FFFFFF\"><td colspan=\"6\" height=\"1\"><img src=\"img/pix.gif\" width=\"1\" height=\"1\"></td></tr>" );
}
?>
Marsh Posté le 11-01-2002 à 23:28:13
je vois pas ... comment sais-tu que la requête ne retourne qu'un résultat ? que vois tu s'afficher à la place de ce que tu attends ?
déjà, essaye une boucle toute simple :
$n = 0;
while ($ligne = mysql_fetch_array($resultat))
{
echo $ligne[0] . ' ' . $ligne[1] . '<br>'; // par exemple ..
$n++;
}
echo $n . ' résultats';
Marsh Posté le 11-01-2002 à 23:33:28
Dans mon tableau, il ne s'affiche qu'une ligne, tout simplement.
Moi, j'en attends 2
Je vais essayer une boucle simple !
Marsh Posté le 11-01-2002 à 23:40:45
Bon, j'ai trouver !!!!
J'ai déconner, en fait il y avais mysql_result($resultat, $i, "titre" ); en haut de ma page qui me servais a récupérer le titre le celle-ci !
Donc, c'est ca qui foutais la merde !
M'enfin, on a trouver !!!
Merci encore.
Marsh Posté le 11-01-2002 à 21:50:15
Salut !
J'ai un probleme avec une jointure qui sur ma page php ne s'execute pas correctement.
Logiquement, elle devrais me retourner 2 lignes dans mon tableau et la, je n'ai qu'un résultat.
J'ai tester ma requette dans phpmyadmin, et lui me retourne les 2 résultats attendus.
Serais-ce du au while ($ligne = mysql_fetch_array($resultat)) ?
voici le script :
$sql = "select B.plateforme,B.version,B.taille,B.nb,B.date,A.modele from $table AS A,$table2 AS B where A.marque = '$marque' AND A.modele = '$modele' AND B.id_drivers = A.id";
$resultat = mysql_query($sql);
while ($ligne = mysql_fetch_array($resultat)) {
mon code html, blablabla...
}
Merci de votre aide et dites moi ce que vous en pensez !
++
[edtdd]--Message édité par kyle--[/edtdd]