Bonjour,
je cherche à créer un système de pagination sur mon site. J'ai donc suivi le tutoriel de grafikart (qui est très bien expliqué, au passage).
Le seul problème est que je réalise le site suivant la structure MVC.
Je n'arrive pas à afficher les pages, je ne récupère pas les variables nbPage etc.
Voici mon code :
$db = connect();
$res = $db->query('SELECT COUNT(id) AS nb FROM actu WHERE statutActu = 0');
$data = $res->fetch();
$nb = $data['nb'];
$nbActu = $nb;
$pPage = 3;
$nbPage = ceil($nbActu/$pPage);
if(isset($_GET["p"]) && $_GET["p"]>0 && $_GET["p"]<=$nbPage){
$cPage = $_GET["p"];
}else{
$cPage = 1;
}
$sql = "SELECT id, titre, contenu, date, statut FROM
actu WHERE statut = 0 ORDER BY date ASC LIMIT ".(($cPage-1)*$pPage).",$pPage";
try {
$retour["donnee"] = $db->query($sql);
$retour["erreur"] = "ok";
} catch (PDOException $erreur) {
$retour["donnee"] = $erreur->getMessage();
$retour["erreur"] = "erreur";
}
return $retour;
return $nb;
return $nbActu;
return $pPage;
return $nbPage;
Cette fonction est dans le modèle, puis appellé dans le controleur. Je récupère bien les résultat de la requête. Dans mon fichier vue, j'ai mis ce code :
for($i=1;$i<=$nbPage; $i++){
echo "<a href='index.php?page=actualites&p=$i'>$i</a>";
}
mais j'obtiens une erreur me disant que nbPage est indéfini.
Je n'arrive pas à récupérer le nombre de page/la pagination
Pouvez vous me donner des pistes svp ?
Merci :)
Salut, seul le premier return s'effectue.
En effet, la commande return termine la fonction !
Doc de la fonction return
Tu devrais plutôt construire un tableau qui contient un index nb, un index nbActu, etc. Dans ta vue, tu fais un extract du retour de ton controller. Logiquement, t'auras la variable nbPage ;)