Système de Pagination
Schadd
Messages postés
2
Statut
Membre
-
yg_be Messages postés 24281 Statut Contributeur -
yg_be Messages postés 24281 Statut Contributeur -
<?php
$bdd = new PDO('mysql:host=localhost:3306; dbname=sprint_b; charset=utf8', 'root', 'root', array(PDO::ATTR_ERRMODE =>PDO::ERRMODE_EXCEPTION));
$articles = $bdd->query('SELECT titre FROM articles ORDER BY id DESC');
if(isset($_GET['q']) AND !empty($_GET['q'])){
$q = htmlspecialchars($_GET['q']);
$articles = $bdd->query('SELECT titre FROM articles WHERE titre LIKE "%'.$q.'%" ORDER BY id DESC');
if($articles->rowCount() == 0) {
$articles = $bdd->query('SELECT titre FROM articles WHERE CONCAT(titre, contenu) LIKE "%'.$q.'%" ORDER BY id DESC');
}
}
// Récupérer le nombre d'enregistrements
$count=$bdd->prepare("SELECT count(id) AS cpt from articles") ;
$count->setFetchMode(PDO::FETCH_ASSOC);
$count->execute();
$tcount=$count->fetchAll();
// Pagination
@$page=$_GET["page"];
$nbr_elements_par_page=10;
$nbr_de_pages = ceil($tcount[0]["cpt"]/$nbr_elements_par_page);
$debut=($page-1)*$nbr_elements_par_page;
// Récupérer les enregistrements eux-mêmes
$sel=$bdd ->prepare ("SELECT titre from articles order by date_time_publication limit $debut,$nbr_elements_par_page");
$sel->setFetchMode (PDO::FETCH_ASSOC);
$sel->execute();
$tab=$sel->fetchAll();
?>
<!DOCTYPE html>
<html>
<head>
<title>Accueil</title>
<meta charset="utf-8">
<link href="css/bootstrap.min.css" rel="stylesheet">
<style>
footer
{
position: fixed;
bottom: 0px;
}
</style>
</head>
<body>
<br /><br />
<center>
<form method="GET">
<input type="search" name="q" placeholder="Recherche..." />
<input type="submit" value="Valider" />
</form>
</center>
<header>
<?php echo $tcount[0]["cpt"] ?> Enregistrement total
</header>
<br /><br /><br /><br />
<ul>
<?php while($a = $articles->fetch()) { ?>
<li>
<a href="article.php?id=<?= $a['id'] ?>">
<img src="miniatures/<?= $a['id'] ?>.jpg" width="100" /><br />
<?= $a['titre'] ?>
</a>
| <a href="redaction.php?edit=<?= $a['id'] ?>">Modifier</a> | <a href="supprimer.php?id=<?= $a['id'] ?>">Supprimer</a>
</li>
<?php } ?>
<ul>
<?php if($articles->rowCount() > 0) { ?>
<ul>
<?php while($a = $articles->fetch()) { ?>
<li><?= $a['titre'] ?></li>
<?php } ?>
</ul>
<?php } else { ?>
Aucun résultat pour: <?= $q ?>...
<?php } ?>
<footer>
<center>
<div id="pagination">
<?php
for ($i=1;$i<=$nbr_de_pages; $i++) {
echo "a href='?page=$i'>$i</a> ";
}
?>
</div>
</center>
</footer>
</body>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umb/popper.min.js"></script>
<script src="js/bootstrap.min.js"></script>
</html>
Bonjour, j’ai un problème avec mon code PHP, celui-ci affiche une erreur : la variable $début n’a apparemment pas été initialisé pourtant je l’ai fait à la ligne 12…

Configuration: iPhone / Safari 15.0
A voir également:
- Pagination php pdo
- Pagination powerpoint - Guide
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Sommaire avec pagination - Guide
- Pagination google doc a partir de la page 3 ✓ - Forum Bureautique