page à page: la barre ne s'affiche pas...?

Répondre
boro64
le 27/04/2009 à 21:48
boro64
Bonsoir!smiley
Bon, ça fait quelques heures que je bataille avec la barre de navigation du page à page smiley...alors je viens vous demander un coup de main.
J'explique:
Je récupère (bien) une recherche via un menu déroulant; j'affiche bien les résultats de ma requête...au moins (comme espéré) les 4 premiers enregistrements...mais la barre de navigation n'apparaît pas alors qu'il y a d'autres pages avec des résultats...
Voici le code:
<?php


// 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";

// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, 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 statut = '0' AND marque = '$nom' 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());


// on affiche enfin notre barre
echo '<span>'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 3).'</span>';


echo '<hr />';


while ($pieces = mysql_fetch_array($req))
{
echo "<b>Pièce : <u>$pieces[ss_famille]</u></b>";
echo '<br />';
echo "Ref. article: $pieces[id_article]&nbsp;";
echo "<b>Marque: $pieces[marque]</b>";
echo '<br />';
echo "<b>Modèle: $pieces[modele]</b>";
echo '<br />';
echo "<b>Année:</b> $pieces[annee]&nbsp;";
echo "&nbsp;<b>Type:</b> $pieces[type]&nbsp;";
echo "&nbsp;<b>Cylindrée:</b> $pieces[cc]&nbsp;";
echo '<br />';
echo "<b>Désignation : $pieces[titre]</b>";
echo '<br />';
echo "<b>Prix: $pieces[prix] €</b>";
echo "&nbsp;&nbsp;";
echo "<b><a href=article.php?id=$pieces[id_article]>voir...</a></b>";
echo "<hr />";

}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);

}

mysql_free_result ($resultat);
mysql_close();
?>

Heu...A votre avis...ça cafouille où? smiley
Merci d'avance pour votre aide!
Tchô
P.S: et merci à La Globule pour le site et les cours!smiley
LA GLOBULE
le 27/04/2009 à 23:55
LA GLOBULE
Si tu vires tes LIMIT, tous les résultats s'affichent ?
Sinon, tu n'as aucune erreur ?
boro64
le 28/04/2009 à 06:33
boro64
Bonjour!
Si j'enlève le LIMIT, tous les résultats s'affichent bien...sur une seule page...Aucune erreur affichée (php ou mysql) smiley
LA GLOBULE
le 28/04/2009 à 10:08
LA GLOBULE
Et en mettant un espace après le mot clé LIMIT et ta première valeur de limite ?

Et les paramètres que tu passes à la fonction, tu les as affiché pour voir quelles sont leur valeur ?

La fonction barre_navigation est bien définie ? Si tu fais un echo dans le code de la fonction, tu le vois ?
boro64
le 02/05/2009 à 14:04
boro64
Salut
et pardon pour mon délai de réponse:
Petite nouveauté, la barre est maintenant visible, sans que je comprenne bien pourquoi elle ne l'était pas n'ayant rien changé à mon code. Mais maintenant j'ai un autre pb...smiley
La barre est bien créée et affiche le bon nombre de pages attendues en fonction de ma requête; mais lorsque je clique sur le lien vers une autre page qu la 1ere (la courante)...j'arrive sur une page vierge e résultat.
En fait, j'ai le sentiment que:
<?php 	$nom = $_POST['mark']; ?>
n'est pas transmis...et donc ma requête est vide.
Et là, je ne vois plus ......smiley
boro64
le 04/05/2009 à 15:16
boro64
Rhôôôôô la honte pour moi.....
La solution était sous mes yeux:
Mon formulaire d'interrogation était en _POST et je tentais de récupérer un _GET.....smiley
Désolé pour le dérangement et le topic inutile.... (j'ai honte!)
Tchô
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours