Résoudre erreur pagination
Résolu
reverb94
Messages postés
106
Date d'inscription
Statut
Membre
Dernière intervention
-
reverb94 Messages postés 106 Date d'inscription Statut Membre Dernière intervention -
reverb94 Messages postés 106 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
J'essaye actuellement de créer une pagination pour une galerie d'image, mais rien ne marche. ( avant d'avoir essayer d'insérer un code de pagination, toutes mes informations s'affichaient correctemet ).
Voici le code que j'essaye de créer :
Une erreur s'affiche ligne 33, mais je n'arrive pas à la comprendre, et ni à la résoudre ^^'.
Merci de votre attention et de votre aide.
Sincèrement.
J'essaye actuellement de créer une pagination pour une galerie d'image, mais rien ne marche. ( avant d'avoir essayer d'insérer un code de pagination, toutes mes informations s'affichaient correctemet ).
Voici le code que j'essaye de créer :
<?php require_once("connexiondessins.inc.php"); try { throw new Exception (' exception test '); $imageparpage=12; $retour = $bdd->prepare('SELECT COUNT(*) AS nb_images FROM dessins'); $retour->execute(); } catch (Exception $e) { Echo 'erreur : '. $e->getMessage(); } $dessins = $retour->fetch(PDO::FETCH_ASSOC); $totaldesimages = $dessins['nb_images']; $nombredepage = ceil($totaldesimages/$imageparpage); echo 'Page : '; for ($i = 1 ; $i <= $nombredepage ; $i++) { echo '<a href="sps.php?page=' . $i . '">' . $i . '</a> '; } if (isset($_GET['page']) && !is_numeric($_GET['page'])) { $page = intval($_GET['page']); } else { $page = 1; } try { throw new Exception (' exception test '); $premiereimageafficher = $page* $imageparpage - $imageparpage; $reponse = $bdd->prepare('SELECT id,categorie,titre,image,description FROM dessins WHERE categorie= :category ORDER BY id DESC LIMIT :offset, :nbimages'); $reponse->bindValue(':category', 'sps'); $reponse->bindParam(':nbimages', $imageparpage); $reponse->bindParam(':offset', $premiereimageafficher); $reponse->execute(); } catch (Exception $e) { Echo 'erreur : '. $e->getMessage(); } ?> <?php while ($dessins = $reponse->fetch()) { ?> <div class="cat1"> <?php echo '<span class="classtext1v">'.htmlspecialchars($dessins['categorie']).'</span>'; ?> <br /> <?php echo '<span class="classtext2v">'.htmlspecialchars($dessins['titre']).'</span>'; ?> <br /> <a href="selectionsps.php?id=<?php echo htmlspecialchars($dessins['id']); ?>"><img src="images/<?php echo htmlspecialchars($dessins['image']);?>" width="200" height="250" /></a> </div> <?php } $reponse->closeCursor(); ?>
Une erreur s'affiche ligne 33, mais je n'arrive pas à la comprendre, et ni à la résoudre ^^'.
Fatal error: Call to a member function fetch() on a non-object in /home/croba/public_html/sps.php on line 33
Merci de votre attention et de votre aide.
Sincèrement.
A voir également:
- Résoudre erreur pagination
- Pagination powerpoint - Guide
- Erreur 0x80070643 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Iptv erreur de lecture - Forum TV & Vidéo
7 réponses
Bonjour,
Merci pour ton aide Alain.
ne fait aucune différence :/.
( ps : autant pour moi la ligne 33 correspond à ce que j'ai en comptant le code html, la ligne 33 au dessus correspond à
merci pour ton attention
sicèrement.
Merci pour ton aide Alain.
$premiereimageafficher = ($page -1 )* $imageparpage;
ne fait aucune différence :/.
( ps : autant pour moi la ligne 33 correspond à ce que j'ai en comptant le code html, la ligne 33 au dessus correspond à
$dessins = $retour->fetch(PDO::FETCH_ASSOC);)
merci pour ton attention
sicèrement.
je pense que le problème vient du fait que tu fetch sur un count(*)
essai un truc du genre comme ça:
essai un truc du genre comme ça:
$retour = $bdd->prepare('SELECT COUNT(*) AS nb_images FROM dessins'); $retour->execute(); $nb_lignes= $retour->fetchColumn(); //voir le contenu du tableau print_r($nb_lignes)
Bonjour,
Le fetch sur un COUNT(*) fonctionne très bien (pour l'avoir fait dans un site hier)
Ce que j'ai fait :
(l'idée était si mon client possède un parc informatique alors je ne l'affiche pas et je continu à lire ma BDD, sinon je l'affiche pour modification et je continu à lire ma BDD)
"Internet" est un outil ... apprenez à l'utiliser svp! Nous ne sommes pas là pour vous mâcher le travail. Faite une recherche sur CCM ou sur GG avant de poster, merci!
Le fetch sur un COUNT(*) fonctionne très bien (pour l'avoir fait dans un site hier)
Ce que j'ai fait :
$existe=$bdd->query('SELECT COUNT(id_client) FROM bla bla'); $existe_fetch=$existe->fetch(); if($existe_fetch[0]) { bla bla } else { bla bla }
(l'idée était si mon client possède un parc informatique alors je ne l'affiche pas et je continu à lire ma BDD, sinon je l'affiche pour modification et je continu à lire ma BDD)
"Internet" est un outil ... apprenez à l'utiliser svp! Nous ne sommes pas là pour vous mâcher le travail. Faite une recherche sur CCM ou sur GG avant de poster, merci!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
re,
J'ai rajouter PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
dans ma connexion a ma bdd,
une erreur s'affiche sur ma page : Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''0', '12'' at line 1
Lorsque je page a la page 2 : Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''12', '12'' at line 1
et ma page 3 Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''24', '12'' at line 1
Le problème viet surement de la pagination :/.
Merci de votre aide.
J'ai rajouter PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));
dans ma connexion a ma bdd,
une erreur s'affiche sur ma page : Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''0', '12'' at line 1
Lorsque je page a la page 2 : Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''12', '12'' at line 1
et ma page 3 Erreur : SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''24', '12'' at line 1
Le problème viet surement de la pagination :/.
Merci de votre aide.
le message dit que tu as une erreur dans ta requette:
'SELECT id,categorie,titre,image,description FROM dessins WHERE categorie= :category ORDER BY id DESC LIMIT :offset, :nbimages'
a chaque fois il semble que tu ait des' en trop de part et d'autre des chiffres de la LIMIT
''0', '12''
il fuadrait LIMIY 0,12 '
'SELECT id,categorie,titre,image,description FROM dessins WHERE categorie= :category ORDER BY id DESC LIMIT :offset, :nbimages'
a chaque fois il semble que tu ait des' en trop de part et d'autre des chiffres de la LIMIT
''0', '12''
il fuadrait LIMIY 0,12 '