[PHP/SQL] Comment dire de créer une seconde page lorsque...

Comment dire de créer une seconde page lorsque... [PHP/SQL] - Programmation

Marsh Posté le 30-01-2002 à 18:37:50    

Comment dire de créer une seconde page lorsque le nombre d'enregistremnt dans une table est atteint un kota définis :??:
 
merci

Reply

Marsh Posté le 30-01-2002 à 18:37:50   

Reply

Marsh Posté le 30-01-2002 à 18:45:45    

En SQL tu peut déjà limiter la requette à nombres d'enregistrement X :
SELECT [champs] FROM [tables] WHERE [conditions] LIMIT [nombre de résultats];
 
ça c pour la première page. Après si la valeur du nombres d'enregistrement est dans une variable php c très simple de passer de page en page, en effet la fonction LIMIT permet d'utiliser deux paramètres, le premier étant la position du premier enregistrement et le second le nombre... Ainsi :
SELECT [champs] FROM [tables] WHERE [conditions] LIMIT [position],[nombre de résultats];
 
Exemple réel, affichage des 10 premiers messages :
SELECT * FROM messages LIMIT 10;
 
Affichage des 10 suivants :
SELECT * FROM messages LIMIT 10,10;
 
Et ainsi de suite...


---------------
A+++ Bruce - http://www.bheller.com
Reply

Marsh Posté le 30-01-2002 à 19:12:31    

ok, thx, je vé essayé ca :)
 :jap:

Reply

Marsh Posté le 26-02-2002 à 20:31:22    

Pour en revenir au dire de bruce, il faut ke je créer une page a chak fois alors ?  
1 page pour affiché les 10 premeir resultat par expl, ki aura pour code : SELECT * FROM messages LIMIT 10;  
1 seconde page pour afiché els 10 suivant SELECT * FROM messages LIMIT 10,10;  
etc...
mais, pas moyen kil créer la page tout seul ? ou ke y ait qu'une page servant de modele et kil affiche en premeir temps les 10 premier resultat, un bouton page suivante lui disant d'affiché les 10 suivant, etc...
 
comment faire ca ?
 
merci
Rainckill

Reply

Marsh Posté le 26-02-2002 à 21:21:00    

Pas forcément tu peux mettre des variables dans le LIMIT non ? (sorry si je me trompe je suis un peu nb :d)

 

[jfdsdjhfuetppo]--Message édité par HORNY-GRANDCORNU--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 26-02-2002 à 22:35:25    

HORNY-GRANDCORNU a écrit a écrit :

Pas forcément tu peux mettre des variables dans le LIMIT non ? (sorry si je me trompe je suis un peu nb :d)  
 
 




 
Ouep par exemple tu mets 2 boutons sur ta page qui renvoies 2 valeurs possibles d'un arg (disons 'nb';), genre 30 et 50 si tu était au numéro 40.
Et ensuite il te suffit de faire la requête :
$mysql_result = mysql_query ("SELECT * FROM messages LIMIT $nb, 10" );
 
Et n'oublies pas de changer la valeur renvoyée par chacun des 2 boutons à chaque fois :)

Reply

Marsh Posté le 27-02-2002 à 14:08:11    

je comprend pas tres bien la...
 
les bouton la... comment les faire ? de simple lien ? menant vers ou ? (dsl d'etre con :-/ )
 
mais si les bouton doivent changer pour chak pagge, ca veut dire kil faut ke je fasse toujour utant de page kil y aura de série de 10 posts...
 
merci de m'expliké en intégralité  :jap:

Reply

Marsh Posté le 27-02-2002 à 14:27:07    

rainckill a écrit a écrit :

je comprend pas tres bien la...
 
les bouton la... comment les faire ? de simple lien ? menant vers ou ? (dsl d'etre con :-/ )
 
mais si les bouton doivent changer pour chak pagge, ca veut dire kil faut ke je fasse toujour utant de page kil y aura de série de 10 posts...
 
merci de m'expliké en intégralité  :jap:  




 
Mais non t'es pas con... tu débutes c'est tout :)
 
ta page qui s'appelle liste.php (exemple)
 
dedans tu utilises la requête que je t'ai passé avec ce test avant :
if (!$nb or $nb < 0) {$nb = 0;};
 
puis la requête, le tableau qui affiche le résultat.
puis à l'endroit ou tu veux mettre les 2 liens(précédent et suivant), tu mets ça :
 
<?if ($nb >= 10) {
  ?><a href='liste.php?nb=<?echo $nb - 10?>>Précédent</a><?
}?>
<a href='liste.php?nb=<?echo $nb + 10?>>Suivant</a>
 
Si ton fichier ne s'appelle liste.php, pas tu remplaces par le nom du fichier :)
Donc là avec une seule page tu peux afficher tout tes messages.
Bon là c'est très rapide, on peut faire plus propre :)

Reply

Marsh Posté le 27-02-2002 à 14:27:23    

allez je me devoue pour la premiere (et derniere) fois que je viens ici ...  ;)  
 
 
alors pr ta page de pagination, tas une page PAGE.php
que tu peux appeler ainsi :
PAGE.php
PAGE.php?limit=XX (pr reprendre lex de bruce) ou XX = 10 20 30 40 50 60 ....
 
code-algo (un sacré melange  :lol: ) de PAGE.php :
 
si not exist ($limit)
      $limit = 0;
 
$sql = SELECT * FROM messages LIMIT $limit,10;  
 
for $i=1->10
         affichage de la ligne
 
afficher <a href=PAGE.php?limit=$limit-10>BACK</A>
afficher <a href=PAGE.php?limit=$limit+10>NEXT</A>
 
 
 
voila, mais a mo avis, la lecture d'un bon tutorial et des exeples est largement conseillée  :D

 

[jfdsdjhfuetppo]--Message édité par beleg--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 27-02-2002 à 14:28:50    

grillé  :D

Reply

Marsh Posté le 27-02-2002 à 14:28:50   

Reply

Marsh Posté le 27-02-2002 à 14:29:56    

beleg a écrit a écrit :

 
[...]
afficher <a href=PAGE.php?limit=$limit-10>BACK</A>
afficher <a href=PAGE.php?limit=$limit+10>NEXT</A>
[...]




 
Par contre je crois pas que php va calculer $limit-10 comme c'est écrit là :)

Reply

Marsh Posté le 27-02-2002 à 14:32:02    

oui c clair, mais jai dit que j'ecrivais pas du php ...
 
echo "<a href=\"PAGE.php?limit="+($limit-10)+"\">BACK</A>";
echo "<a href=\"PAGE.php?limit="+($limit+10)+"\">NEXT</A>";
 
doit etre mieux mais ca fait longtemps que jai pas touché du php, mais c un langage assez sympa ...

 

[jfdsdjhfuetppo]--Message édité par beleg--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 27-02-2002 à 14:39:51    

beleg a écrit a écrit :

oui c clair, mais jai dit que j'ecrivais pas du php ...
 
echo "<a href=\"PAGE.php?limit="+($limit-10)+"\">BACK</A>";
echo "<a href=\"PAGE.php?limit="+($limit+10)+"\">NEXT</A>";
 
doit etre mieux mais ca fait longtemps que jai pas touché du php, mais c un langage assez sympa ...  




 
ha oups désolé :)
 
Ouais en fait pour le echo, après ça dépend des préférences, en général je préfère mettre le code HTML en dehors des balises php , quite à écrire <?echo $a?> en plein milieu, pour pouvoir profiter de la coloration syntaxique.

Reply

Marsh Posté le 25-06-2002 à 01:16:34    

bon dsl de revenir si tard mais ca amrche pas !!!
 
je fé <a href='index.php?txt=img_aff&cat00=screenshoots&nb=$nb+2'>Suivant</a>
 
et il maffiche la meme page ki est déjà affiché... et kan je revais sur le lien, il affiche toujours 0+2 et aps 2+2 comme ca devré letre...
 
ou es le pb ??

Reply

Marsh Posté le 11-10-2002 à 23:05:37    

[:rofl]  [:rofl]  
trois mois pr tester la pagination ...  [:xp1700]

Reply

Marsh Posté le 11-10-2002 à 23:09:04    

rainckill a écrit a écrit :

bon dsl de revenir si tard mais ca amrche pas !!!
 
je fé <a href='index.php?txt=img_aff&cat00=screenshoots&nb=$nb+2'>Suivant</a>
 
et il maffiche la meme page ki est déjà affiché... et kan je revais sur le lien, il affiche toujours 0+2 et aps 2+2 comme ca devré letre...
 
ou es le pb ??


Le $nb+2, faut qu'il soit calculé par PHP. Donc plutot un truc comme ca :
<a href='index.php?txt=img_aff&cat00=screenshoots&nb=<?echo ($nb+2)?>'>Suivant</a>

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed