Systeme de page en php
Bonjour,
je voudrais savoir comment faire un systeme de pages en php pour afficher dans le site les projets disponible, pour cela j'ai cree une table projet dans mysql.
toutes propositions est la bienvenue
je voudrais savoir comment faire un systeme de pages en php pour afficher dans le site les projets disponible, pour cela j'ai cree une table projet dans mysql.
toutes propositions est la bienvenue
3 réponses
-
Salut.
Quel est le problème ?
Lister les projets ?
Faire la pagination (dans ce cas, regarde ici) ? -
oui lister les projets
en affichant page 1 2 3 etc ...
tu vois et ceci en php -
Il faut passer le numéro de la page par argument GET.
Si la page n'est pas indiquée dans l'URL, alors il faut fixer la variable "$page" à 1 (page par défaut).
Ensuite, en fonction du nombre de résultats désirés par page, tu fais une requête en utilisant la clause LIMIT. Cette clause va permettre de délimiter l'emplacement du premier résultat à prendre et le nombre de résultats à prendre. "LIMIT 5,4" veut dire "À partir du 5ème résultat, en prendre 4).
Il ne te restera plus qu'à afficher les résultats avec une boucle.
Et pour terminer, tu peux utiliser la fonction données dans le lien que je t'ai passé pour faire la pagination.
Voilà ce que ça donne :<?php require 'libs/function_pagina.php'; /* Définition de la variable $page */ $page = (isset($_GET['page']) && (int) $_GET['page'] !== 0) ? (int) $_GET['page'] : 1; /* Définition du premier résultat à prendre dans la requête SQL */ $premierResultat = ($page - 1) * PAGINA_PER_PAGE; /* Ouverture de la connexion à MySQL et exécution de la requête */ $pdo = new PDO('mysql:host=localhost;dbname=db_test','root',''); $sql = 'SELECT * FROM projets LIMIT '.$premierResultat.', '.PAGINA_PER_PAGE; $req = $pdo->query($sql); $req->setFetchMode(PDO::FETCH_OBJ); /* Affichage des projets récupérés */ while($projet = $req->fetch()) { echo $projet->nom.'<br/>'; } /* Affichage des liens de pagination */ pagination('projets', $page); ?>