Affichage séquentiel sous php5

Fermé
tibila - 2 déc. 2008 à 14:04
xxkirastarothxx Messages postés 378 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 - 3 déc. 2008 à 09:37
Bonjour,
j'ai une bd sql et j'aimerais afficher le résultat de ma requete SELECT de facon a n'avoir que 5 instances d'affichées,sur ma page à chaque fois que je clic sur un lien "Suivant".merci de m'aider.bon apeti

6 réponses

xxkirastarothxx Messages postés 378 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 40
2 déc. 2008 à 14:16
Pour commencer fait des liens vers ta page (disons news.php)
<a href='news.php'>1</a><a href='news.php?page=2'>2</a><a href='news.php?page=3'>3</a>
etc.
Ensuite tu créer un variable de page:
$page = $_GET['page'];
if(empty($page)){$page = 1;}
définis ensuite une variable pour le nombre d'articles par page, le numero de ton premier articles et du dernier:
$maxnews = 5;
$premiernews = ($page-1)*$maxnews);
$derniernews = ($premierepage + $maxnews) - 1;
et pour finir dans ta requete:
"SELECT * FROM ta_table ORDER BY id LIMIT $premierenews,$dernierenews"
Et ça devrais marcher.
PS: j'ai pas tester le script je viens de te le faire a l'arrache, y'a peut être une ou deux petites erreurs qui traines.
0
OK merci.mais ta variable $premierepage n'a pas été initialisée.elle va provoquer une erreur.
0
xxkirastarothxx Messages postés 378 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 40
2 déc. 2008 à 15:44
je crois que j'ai simplement mis un " ) " de trop ^^
$premiernews = ($page-1)*$maxnews); => $premiernews = ($page-1)*$maxnews;

Si $page est définis comme il faut, ça ne devrais pas poser de problème ;)
0
c'est à ce niveau: $derniernews = ($premierepage + $maxnews) - 1;
"$premierepage" n'avait pas été initialisée auparavant. Jette à nouveau un coup d'oeil sur ton code.
0
xxkirastarothxx Messages postés 378 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 40
2 déc. 2008 à 16:13
lol
replace $premierepage par $premierenews
désolé ^^
0
Je viens d'essayer ton code et voici les erreurs qu'il retourne:

Notice: Undefined index: page in C:\Program Files\EasyPHP 2.0b1\www\sacca\li_table_produits.php on line 20

Notice: Undefined variable: dernierenews in C:\Program Files\EasyPHP 2.0b1\www\sacca\li_table_produits.php on line 29
Erreur SQL !SELECT * FROM produit ORDER BY CodeProduit LIMIT 0,
Erreur de syntaxe près de '' à la ligne 1


Je suppose que le code était à saisir dans ma page d'affichage!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xxkirastarothxx Messages postés 378 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 40
3 déc. 2008 à 09:02
Eh c'est uniquement du ah des erreur de frappe,
comme la première fois:

remplace $premierenews de la requete par $premiernews etc...
le code marche niquel je viens de le tester, juste un peux de jujote pour remettre les bonne variable et hop ça tourne.
allé, au cas ou:

<a href='news.php'>1</a><a href='news.php?page=2'>2</a><a href='news.php?page=3'>3</a>
<?php
$page = $_GET['page'];
if(empty($page)){$page = 1;}

$maxnews = 5;
$premiernews = ($page-1)*$maxnews;
$derniernews = ($premiernews + $maxnews) - 1;
echo 'page = '.$page.'<br />';
echo "premiere news, id= ".$premiernews."<br />";
echo "dernière news, id= ".$derniernews."<br />";
$reponse = mysql_query("SELECT * FROM ta_table ORDER BY id LIMIT $premiernews,$derniernews");
while($donnees = mysql_fetch_array($reponse))
{
	echo $donnees['title'];
}
0
slt! désolé de te répondre now.ton code marche à merveille.merci pour ta disponibilité. Peace!
0
xxkirastarothxx Messages postés 378 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 22 mars 2013 40
3 déc. 2008 à 09:37
Y'a pas de soucis ;)
Pense a passer ton post en Résolu ;)

Bonne chance pour la suite.
0