Problème pagination php my sql
Résolu
jo150
-
jo150 -
jo150 -
Bonjour,
je n'arrive pas a obtenir le nombre de news pour ma pagination voila mon code
quand je remplace $donnees_total['total']; par le nombr de mes news tout fonctionne mais j'aimerais que ca soit automatique !
donc voila ou est mon erreur
sur mon site il y a cette erreur Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\rockstoires\index.php on line 113
Merci d'avance !
je n'arrive pas a obtenir le nombre de news pour ma pagination voila mon code
<?php // Connexion ?a base de données try { $bdd = new PDO('mysql:host=localhost;dbname=rockstories', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } // On r?p? les 5 derniers news ?> <?php // On écrit les liens vers chacune des pages // ----------------------------------------- // On met dans une variable le nombre de messages qu'on veut par page $nombreDeMessagesParPage = 20; // Essayez de changer ce nombre pour voir :o) // On récupère le nombre total de messages $retour_total=mysql_query('SELECT COUNT(*) AS total FROM news'); //Nous récupérons le contenu de la requête dans $retour_total $donnees_total=mysql_fetch_assoc($retour_total); $totalDesMessages = $donnees_total['total']; // On calcule le nombre de pages à créer $nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); // Puis on fait une boucle pour écrire les liens vers chacune des pages echo 'Page : '; for ($i = 1 ; $i <= $nombreDePages ; $i++) { echo '<a href="index.php?page=' . $i . '">' . $i . '</a> '; } if (isset($_GET['page'])) { $page = $_GET['page']; // On récupère le numéro de la page indiqué dans l'adresse (livreor.php?page=4) } else // La variable n'existe pas, c'est la première fois qu'on charge la page { $page = 1; // On se met sur la page 1 (par défaut) } // On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL $premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage; $req = $bdd->query('SELECT id, titre, contenu, auteur, categorie, DATE_FORMAT(date_creation, \'%d/%m/%Y \') AS date_creation_fr FROM news WHERE publie=\'1\' ORDER BY date_creation DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage); while ($donnees = $req->fetch()) { ?> <?php include('../rockstoires/anecdote.php'); ?>
quand je remplace $donnees_total['total']; par le nombr de mes news tout fonctionne mais j'aimerais que ca soit automatique !
donc voila ou est mon erreur
$retour_total=mysql_query('SELECT COUNT(*) AS total FROM news'); //Nous récupérons le contenu de la requête dans $retour_total $donnees_total=mysql_fetch_assoc($retour_total); $totalDesMessages = $donnees_total['total'];
sur mon site il y a cette erreur Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\rockstoires\index.php on line 113
Merci d'avance !
A voir également:
- Problème pagination php my sql
- What is my movie français - Télécharger - Divers TV & Vidéo
- Pagination powerpoint - Guide
- My pascal - Télécharger - Édition & Programmation
- My lockbox - Télécharger - Chiffrement
- Easy php - Télécharger - Divers Web & Internet
1 réponse
Bonjour
En effet, mysql_query ne risque pas de marcher, ni mysql_fetch_assoc d'ailleurs.
En php, il y a plusieurs interfaces possibles pour utiliser mysql, et tu les mélanges.
Tu utilises PDO pour te connecter, et les fonction classiques mysql_qqchose pour ton SELECT COUNT(*)
Comme tu as commencé à utiliser PDO, il faut continuer :
En effet, mysql_query ne risque pas de marcher, ni mysql_fetch_assoc d'ailleurs.
En php, il y a plusieurs interfaces possibles pour utiliser mysql, et tu les mélanges.
Tu utilises PDO pour te connecter, et les fonction classiques mysql_qqchose pour ton SELECT COUNT(*)
Comme tu as commencé à utiliser PDO, il faut continuer :
$retour_total=$bdd->query('SELECT COUNT(*) AS total FROM news'); //Nous récupérons le contenu de la requête dans $retour_total $donnees_total=$retour_total->fetch(PDO::FETCH_ASSOC); $totalDesMessages = $donnees_total['total'];
jo150
merci beaucoup pour ton aide ca fonctionne !