Systeme de page en php

Fermé
kalidou - 30 juil. 2010 à 18:14
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 30 juil. 2010 à 22:45
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


A voir également:

3 réponses

avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
30 juil. 2010 à 18:25
Salut.

Quel est le problème ?
Lister les projets ?
Faire la pagination (dans ce cas, regarde ici) ?
0
oui lister les projets
en affichant page 1 2 3 etc ...
tu vois et ceci en php
0
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
30 juil. 2010 à 22:45
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);
?>
0