mysql_num_rows me retourne 1 au lieu de 50 lignes
Bonjour,
Si quelqu'un peut m'aider à voir plus clair dans mon code SVP.
Le code si dessous n'affiche aucune valeur. Pour tester le nombre total de lignes retournées pour comprendre, j'ai fait :
Code:
mysql_num_rows(res)
ça me retourne 1. ça retourne 1 dans tous les cas. Il y a plus de 50 lignes.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
| <?php
function mysqlDB_connect()
{
$mysqlDB_link = mysql_connect("localhost", "root", "");
mysql_select_db("mydb", $mysqlDB_link);
if (!$mysqlDB_link)
{
exit("Échec de la connexion ");
}
return $mysqlDB_link;
}
mysqlDB_connect();
/* Calcul du nombre total d'entrées $total dans la table PRODUITS */
$appnumero = 12;
$titrepage = 'fruits';
$requete = " SELECT COUNT(*) FROM produits WHERE categorie='$titrepage'";
$res = mysql_query($requete)or die (mysql_error());
$row = mysql_fetch_row($res);
$total = $row[0];
/* Libération du résultat */
mysql_free_result($res);
$colonne = 3;
$i = 0;
/* Déclaration des variables */
$epp = $appnumero; // nombre d'entrées à afficher par page (entries per page)
$countp = ceil($total/$epp); // calcul du nombre de pages $countp (on arrondit à l'entier supérieur avec la fonction ceil() )
/* Récupération du numéro de la page courante depuis l'URL avec la méthode GET */
if(!isset($_GET['p']) || !is_numeric($_GET['p']) ) // si $_GET['p'] n'existe pas OU $_GET['p'] n'est pas un nombre (petite sécurité supplémentaire)
$current = 1; // la page courante devient 1
else
{
$page = intval($_GET['p']); // stockage de la valeur entière uniquement
if ($page < 1) $current=1; // cas où le numéro de page est inférieure 1 : on affecte 1 à la page courante
elseif ($page > $countp) $current=$countp; //cas où le numéro de page est supérieur au nombre total de pages : on affecte le numéro de la dernière page à la page courante
else $current=$page; // sinon la page courante est bien celle indiquée dans l'URL
}
/* $start est la valeur de départ du LIMIT dans notre requête SQL (est fonction de la page courante) */
$start = ($current * $epp - $epp);
/* Récupération des données à afficher pour la page courante */
$qry = "SELECT COUNT(*) FROM produits WHERE categorie='$titrepage' ORDER BY ID DESC LIMIT $start, $epp";
$res = @mysql_query($qry);
if ($res)
{
/* Affichage des données */
$madonnee = '<table width="100%" height="50" border="0" cellpadding="4" cellspacing="0">';
while($item = mysql_fetch_array($res))
{
$ID = $item['ID'];
$titre = $item['categorie'];
$varpage2 = ($titre);
$nomimage = $item['vignette'];
$lien_photo = '<img src="files/catalogue/vignettes/';
$lien_photo .= $nomimage.'"';
$lien_photo .= ' title ='.'"'.$titre.'"';
$lien_photo .= ' border="0">';
if ($i%$colonne==0)
{
// On affiche une ligne
$madonnee .= '<tr>';
}
if($i %$colonne !=0 OR $i %$colonne == 0)
{// On affiche une colonne et la donnée
$madonnee .='<td valign = " middle"><div align = " center ">';
$madonnee .= '<a href= "#">';
$madonnee .= $lien_photo;
$madonnee .= '</a></div></td>';
}
$i++;
if ($i%$colonne ==0){
//On ferme la ligne
$madonnee .= "</tr>";
}
}
$madonnee .= '</table>';
mysql_free_result($res);
}
?>
echo $madonnee ; |
D'avance je vous remercie infiniment