Probleme pagination
Résolu
yvesman
-
yvesman -
yvesman -
Bonjour,
je suis en train de travailler sur un script de pagination mais j'ai cette erreur :
Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'created_at' in 'order clause' in /home/u320889525/domains/............./public_html/..........php:47 Stack trace: #0 /home/u320889525/domains/.........../public_html/.............php(47): PDOStatement->execute() #1 {main} thrown in /home/u320889525/domains/........../public_html/..........php on line 47
je suis en train de travailler sur un script de pagination mais j'ai cette erreur :
Fatal error: Uncaught PDOException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'created_at' in 'order clause' in /home/u320889525/domains/............./public_html/..........php:47 Stack trace: #0 /home/u320889525/domains/.........../public_html/.............php(47): PDOStatement->execute() #1 {main} thrown in /home/u320889525/domains/........../public_html/..........php on line 47
<?php
// On détermine sur quelle page on se trouve
if(isset($_GET['page']) && !empty($_GET['page'])){
$currentPage = (int) strip_tags($_GET['page']);
}else{
$currentPage = 1;
}
// On se connecte à là base de données
require_once('db_connect.php');
// On détermine le nombre total d'articles
$sql = 'SELECT COUNT(*) AS nb_articles FROM `produits`;';
// On prépare la requête
$query = $conn->prepare($sql);
// On exécute
$query->execute();
// On récupère le nombre d'articles
$result = $query->fetch();
$nbArticles = (int) $result['nb_articles'];
// On détermine le nombre d'articles par page
$parPage = 30;
// On calcule le nombre de pages total
$pages = ceil($nbArticles / $parPage);
// Calcul du 1er article de la page
$premier = ($currentPage * $parPage) - $parPage;
$sql = 'SELECT * FROM `produits` ORDER BY `created_at` DESC LIMIT :premier, :parpage;';
// On prépare la requête
$query = $conn->prepare($sql);
$query->bindValue(':premier', $premier, PDO::PARAM_INT);
$query->bindValue(':parpage', $parPage, PDO::PARAM_INT);
print_r($query);
echo '<br/>';
print_r($sql);
// On exécute
$query->execute();
// On récupère les valeurs dans un tableau associatif
$articles = $query->fetchAll(PDO::FETCH_ASSOC);
require_once('close.php');
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
</head>
<body>
<main class="container">
<div class="row">
<section class="col-12">
<h1>Liste des articles</h1>
<table class="table">
<thead>
<th>ID</th>
<th>Titre</th>
<th>Date</th>
</thead>
<tbody>
<?php
foreach($articles as $article){
?>
<tr>
<td><?= $article['id'] ?></td>
<td><?= $article['titre'] ?></td>
<td><?= $article['created_at'] ?></td>
</tr>
<?php
}
?>
</tbody>
</table>
<nav>
<ul class="pagination">
<!-- Lien vers la page précédente (désactivé si on se trouve sur la 1ère page) -->
<li class="page-item <?= ($currentPage == 1) ? "disabled" : "" ?>">
<a href="./?page=<?= $currentPage - 1 ?>" class="page-link">Précédente</a>
</li>
<?php for($page = 1; $page <= $pages; $page++): ?>
<!-- Lien vers chacune des pages (activé si on se trouve sur la page correspondante) -->
<li class="page-item <?= ($currentPage == $page) ? "active" : "" ?>">
<a href="./?page=<?= $page ?>" class="page-link"><?= $page ?></a>
</li>
<?php endfor ?>
<!-- Lien vers la page suivante (désactivé si on se trouve sur la dernière page) -->
<li class="page-item <?= ($currentPage == $pages) ? "disabled" : "" ?>">
<a href="./?page=<?= $currentPage + 1 ?>" class="page-link">Suivante</a>
</li>
</ul>
</nav>
</section>
</div>
</main>
</body>
</html>
A voir également:
- Probleme pagination
- Pagination powerpoint - Guide
- Sommaire avec pagination - Guide
- Le fichier de pagination est insuffisant pour terminer cette opération ✓ - Forum Matériel & Système
- Pagination word - Guide
- Pagination google doc à partir de la page 3 - Forum Google Docs
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
as-tu vérifié qu'il y avait une colonne nommée created_at dans la table produits?
as-tu vérifié qu'il y avait une colonne nommée created_at dans la table produits?