barre de navigation page par page: une info non transmise?
Posté : 04 mai 2009, 11:32
Bonjour
Voilà mon problème:
A partir d'une requête issue d'un moteur de recherche, j'affiche les résultats sur plusieurs pages (au besoin); la requête se fait bien, ma barre de navigation affiche bien un nombre de pages à suivre en conformité avec les résultats....MAIS, lorsque l'on clique sur page suivante, ou un n° de page quelconque....l'affichage ne se fait pas...
J'ai le sentiment qu'une l'information issue de ma requête ne suit pas...et là, je ne vois ni laquelle, ni où je la perd...
Voici la partie du code concerné:
Je suis certain que mon problème n'en est pas un, que c'est moi qui ai oublié quelque chose, mais j'avoue ne plus rien voir....
D'avance merci pour vos avis, pistes, etc.
Voilà mon problème:
A partir d'une requête issue d'un moteur de recherche, j'affiche les résultats sur plusieurs pages (au besoin); la requête se fait bien, ma barre de navigation affiche bien un nombre de pages à suivre en conformité avec les résultats....MAIS, lorsque l'on clique sur page suivante, ou un n° de page quelconque....l'affichage ne se fait pas...
J'ai le sentiment qu'une l'information issue de ma requête ne suit pas...et là, je ne vois ni laquelle, ni où je la perd...
Voici la partie du code concerné:
// comptage du nombre de lignes de la base
$sql = "SELECT count(id_article) FROM stock WHERE marque ='$nom' AND statut != 1";
//éxécution de la requête
$resultat = mysql_query($sql) or die ('Erreur SQL! <br />'.$sql.'<br />'.mysql_error());
//récupération du nombre total à afficher
$nb_total = mysql_fetch_array($resultat);
//test pour vérifier si ce nombre vaut 0
if (($nb_total = $nb_total[0]) == 0) {
echo "Aucun article dans la marque <b>$nom</b>, désolé! Merci de revenir plus tard ou de nous interroger.";
}
else {
echo "Liste des articles de marque <b>$nom</b> en vente";
// si variable $debut n'a pas déjà été déclarée, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 4;
//Préparation de la requête avec le LIMIT
$sql = "SELECT * FROM stock WHERE marque = '$nom' AND statut = '0' ORDER BY id_article DESC LIMIT " .$_GET['debut'].','.$nb_affichage_par_page;
//éxécution de la requête
$req = mysql_query($sql)or die ('Erreur SQL! <br />'.$sql.'<br />'.mysql_error());
print $req;
echo '<br />';
// on affiche la barre
echo '<center><span>'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span></center>';
echo '<hr />';
while ($pieces = mysql_fetch_array($req))
{
Voilà, je ne mets pas la fonction, celle ci fonctionnant apparemment bien; le problème vient uniquement d'une info "perdue" lors du passage vers les pages suivantes....Je suis certain que mon problème n'en est pas un, que c'est moi qui ai oublié quelque chose, mais j'avoue ne plus rien voir....
D'avance merci pour vos avis, pistes, etc.