Limite de page
Forum Programmation : Limite de page
Bonjour,
Je voudrais savoir comment afficher une table sql sur une page php en faisant en sorte que une seule ligne de la page s'affiche et que les autres ligne de la table s'affiche en dessous de celle ci...
genre:
mysql_query('SELECT * FROM la_table ORDER BY id DESC LIMIT 0,1');
Donc ca affichera la dernière ligne ajouté. Comment afficher les ancienne sur une page différente?
J'èspère que j'ai été assez claire, j'arrive pas bien à expliquer. Merci d'avance
Hosting Favicon
Clic pas ici
mysql_query('SELECT * FROM la_table ORDER BY id DESC LIMIT 1,10000');
C'est aussi simple que cela?
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Tu veux faire une pagination classique ?
Ou juste la première page qui contient 1 news (ou je sais pas ce que tu veux), et la 2ème page qui contient tout le reste ?
La dernière ajouter sur la première page les autres sur des autres pages (une par parge) et chaque fois en dessous le numéro de la page avec "précédente" "suivante".
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Bah c'est de la pagination classique quoi.
Tu regardes n'importe quel script de pagination il te donnera ce que tu veux, tu auras juste besoin de changer le nombre de réponses par page.
Ca reviendrait à une requête du type :
Code :
|
Le truc c'est que sur les script de pagination ils font casi 2 pages et je pige pas grand chose. Y'a pas un truc tout simple?
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Bah c'est simple...
1) Tu comptes le nombre d'éléments dans ta bdd, ce qui sera le nombre de pages que tu auras
2) tu passes un paramètre $_GET['page'] avec le numéro de la page que tu veux avoir. Si ce paramètre n'existe pas, tu mets $page = 0. Si ce paramètre est plus grand que le nombre de pages que tu as, tu le mets égal au nombre de pages que tu as.
3) tu fais le mysql_query() que je t'ai donné plus haut, avec la variable $_GET['page'], ce qui va te retourner le "$_GET['page']"ième élément (moins un, vu que ça commence à 0) de ta base.
4) les boutons suivants et précédents seront égaux à $_GET['page']+1 et $_GET['page']-1
C'est un algo tout con il me semble
Oui je sais quand on connais on dirais que les autres son idiot de pas comprendre...
Code :
|
Donc:
| Citation : 1) Tu comptes le nombre d'éléments dans ta bdd, ce qui sera le nombre de pages que tu auras |
Code :
|
| Citation : 2) tu passes un paramètre $_GET['page'] avec le numéro de la page que tu veux avoir. Si ce paramètre n'existe pas, tu mets $page = 0. Si ce paramètre est plus grand que le nombre de pages que tu as, tu le mets égal au nombre de pages que tu as. |
Code :
|
| Citation : 3) tu fais le mysql_query() que je t'ai donné plus haut, avec la variable $_GET['page'], ce qui va te retourner le "$_GET['page']"ième élément (moins un, vu que ça commence à 0) de ta base. |
Code :
|
| Citation : 4) les boutons suivants et précédents seront égaux à $_GET['page']+1 et $_GET['page']-1 |
Code :
|
Bon dois avoir des méchante faute mais comme j'ai dis plus haut je suis pas expert! Merci de ton aide omar!
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Ok. Désolé de dire que ça me semble simple... mais bon, voilà... quand je vois que tu aides quand même quelques personnes, je trouve ça bizarre que tu ne fasses pas ça (pas pour te dénigrer hein, y'a des choses toutes connes que je ne sais pas faire...) j'ai appris récemment que tu pouvais utiliser { } dans une chaine de caractère pour délimiter une variable.
Exemple :
Code :
|
Bref, revenons en à nos moutons ![]()
Sans tester, j'aurais dit quelque chose du genre :
Code :
|
(désolé s'il manque une parenthèse ou un crochet ou que y'a une erreur, mais là j'ai que le bloc notes sous la main, c'est difficile pour se rendre compte)
Et ça devrait le faire théoriquement ^^
Message édité par OmaR le 15-10-2007 à 21:37:45
Merci
Y'a un ptit problème avec cette ligne
Code :
|
Tu vois une faute?
$nb_elts car j'ai fais un echo et il m'affiche bien le nombr de ligne dans ma table.
Hosting Favicon
Clic pas ici
Répondre à Allstar27
y'a pas une parenthèse en trop ? >= 1)) enlève une des deux.
Edit: doit y avoir une autre erreur, ça doit être ça :
Code :
|
Message édité par OmaR le 15-10-2007 à 23:01:29
Plus de page blanche mais ma table s'affiche pas...
Je vois juste page suivante..
Message édité par Allstar27 le 16-10-2007 à 00:08:53
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Est-ce que tu as ajouter l'affichage de tes données ? Car je l'ai pas mis moi dans mon code...
T'as tout ce qu'il te faut dans la variable $row
Donc je fais un while ($row)
???
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Bah c'est du PHP, et $row est un array.
Donc, si par exemple dans ta base de données tu as 4 colonnes :
id / nom / toto / tata
Ca donnera :
$row['id'] / $row['nom'] / $row['toto'] / $row['tata']
Et tu utiliseras toutes les données.
Bon bah voilà le résultat...
http://www.allstar27.123.fr/kits/animaux.php
J'ai deux ligne dans ma table. test 1 et test 2
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Y' apas quelque chose qui te choque dans l'URL ?
animaux.php?page=$page+1
Edit: même en entrant une valeur correcte, ça foire hmm...
Fais voir ton code final
Message édité par OmaR le 16-10-2007 à 22:07:28
Bah oui $page n'a pas de valeur...
Code :
|
Message édité par Allstar27 le 16-10-2007 à 23:17:08
Hosting Favicon
Clic pas ici
Répondre à Allstar27
c'est pas que $page n'a pas de valeur, c'est que $page devrait être interprété par PHP, or vu que tu n'as pas mis ce que j'avais mis pour précédent et suivant, (fallait peut-être ajouter des () pour que ça fonctionne), la variable n'est pas parsée.
Fais des echo de $page pour voir la valeur qu'elle a pris après le else { $page = 1; }
Affiche ta requête aussi, qu'on puisse voir où ça bug.
Quand je fais echo '$page';
Il m'affiche $page
Code :
|
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Bah c'est normal que quand tu fasses echo '$page' il te donne
$page, vu que les simples quotes ne parsent pas les variables...
Il faut faire echo $page ou encore echo "$page"...
echo $page; m'affiche 1
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Ouais, normal.
Et quand tu passes "page" en argument, faudrait voir quelle valeur ça prend, car ça bug.
ça affiche plus rien
Bon bah je crois que je vais devoir créer une page pour chaque entrée...
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Bah non pas la peine !
Affiche la valeur de $page une fois qu'il est traité par
Code :
|
qu'on puisse voir la valeur qu'il prend en fonction du paramètre $_GET['page']. C'est bizarre qu'il ne fonctionne pas !
Il n'affiche rien...
Hosting Favicon
Clic pas ici
Répondre à Allstar27
il faut que tu passes le paramètre page dans l'URL.
tonsite.com?page=1 par exemple
http://www.allstar27.123.fr/kits/animaux.php?page=1
Comme ça il n'affiche pas les donnees
Hosting Favicon
Clic pas ici
Répondre à Allstar27
Oui j'avais remarqué.
Quelle est la valeur de $page dans ce cas là ? C'est bizarre que ça ne fonctionne pas...
Valeur de page => rien
Hosting Favicon
Clic pas ici
Répondre à Allstar27
bizarre...
je comprend pas...
Il y a 283 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.
