Faire un système de page

shadow578 Messages postés 102 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 27 juin 2011 - 7 avril 2010 à 09:43
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011 - 10 avril 2010 à 11:24
Bonjour,

Bon j'explique mon problème, voilà j'ai une base de donnée avec une multitude d'information prenons l'exemple d'un jeux dans ma bdd j'ai : nom, prix, description etc..

Dans mon php, j'affiche un jeux que j'intégre dans une boucle pour afficher toute les jeux:
while ($donnees = $reponse->fetch())
{
   mon jeux
}


$reponse étant ma requête.
Mais alors voilà ayant à peut prés +1000 jeux dans ma bdd cela commence à faire beaucoup à afficher d'un coup. Donc j'ai pensé à en afficher que 100 puis sur une deuxiéme page, 100 autre etc..

Mais problème vient d'ici, avec 'fetch()' je n'arrive pas avez vous une idée pour réaliser çà ? Ou une autre façon ?

Merci :)

3 réponses

deadhand Messages postés 152 Date d'inscription dimanche 15 octobre 2006 Statut Membre Dernière intervention 27 août 2010 3
7 avril 2010 à 13:45
Tu peux passer un nombre dans l'url de ta page qui indiquera le numero du premier jeux à afficher. Pour chaque page tu rentre dans ta boucle où tu incrémente un nombre et dès que ce dernier est égal à celui passé en url, tu affiche les 100 jeux suivants.

Puis tu apelles ton autre page avec le numero passer dans l'url +100
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
10 avril 2010 à 11:19
Salut,
C'est exactement ça.
Pour schématiser...
<?php
//Tu décides d'afficher les jeux 100 par 100.
$nbr_affich=100; //Imaginons que c'est une var globale, sinon il faut la passer en paramètre
//-----
//L'url "de base" de ta page est donc : ta_page.php?id=0
Dans cette page, tu affiches les jeux de $_GET["id"] (0 pour la page de base) à $_GET["id"]+$nbr_affich (100 pour la page de base)
//-----
//Tu ajoutes un lien pour passer aux jeux suivants :
echo "Suivant";
?>


R&sultat :
Si ta page pour url "ta_page.php?id=0", tu afficheras les jeux de 0 à 100, avec un lien vers la page "ta_page.php?id=100" qui affichera les jeux de 100 à 200 avec une lien vers "ta_page.php?id=200" qui... etc...
De la même façon, tu peux ajouter un lien "Précédent".

Du coup, pour tes requètes SQL, tu ajoutes :
<?php
$sql="SELECT blabla FROM blabla ... LIMIT ".$_GET["id"].",".($_GET["id"]+$nbr_affich).";";
?>


Il ne faut pas oublier en début de page de compter le nombre de jeux que tu as dans ta table, dans le cas ou tu veux afficher les numéros de pages pour une navigation plus fluide. Le nombre de pages sera (nbr_jeux/nbr_affich).

Cordialement, uaip.
0
uaip Messages postés 1466 Date d'inscription mardi 20 février 2007 Statut Membre Dernière intervention 7 février 2011
10 avril 2010 à 11:24
Euh, je me suis un peu emballé.
La requète SQL est plutôt :
<?php
$sql="SELECT blabla FROM blabla ... LIMIT ".$_GET["id"].",".$nbr_affich.";";
?>

La syntaxe étant : LIMIT id_de_départ,nombre_d'occurences
(et non : LIMIT id_de_départ,id_d'arrivée)


Cordialement, uaip.
0
Rejoignez-nous