Bonjour,
Voila je rencontre un petit problème avec mon code.
Alors deja je m'excuse si j'aurai plutot du le mettre dans la section MySQL
Donc je cherche a prendre des valeurs 6 par 6 dans ma base de données.
Alors pour prendre les 6 premiers enfin plutot dernier la, je fais ma requete:
$reponse2 = $bdd->query("SELECT * FROM sousmenu where idMenu='".$idPrP."' and pays='".$pays."' ORDER BY idSSmenu DESC LIMIT 6");
while ($donnees2 = $reponse2->fetch()){ici s'affiche mes resultats}
Et maintenant ma question, c'est comment je peux faire pour prendre les 6 precedents... et ainsi de suite!
J'ai pensé sinon prendre les 12 suivants apres... et enlever les 6premiers, et apres par 18 et enlever les 12premiers.... mais ca me fait penser plus a du bricolage...
Peut etre pourriez vous eclairer ma lanterne!
cordialement
Hello,
Il s'agit au final, d'un système de pagination.
Décompose le :
Page 1 : On récupère les 6 premiers
Page 2 : On récupère 6 éléments après les 6 premiers
Page 3 : On récupère 6 éléments après les 12 premiers.
Donc en gros, tu prends toujours 6 éléments, mais jamais du même point. Le point de départ est 6 (page actuelle - 1).
Page 1 : 6 1 - 1 = 0
Page 2 : 6 (2 - 1) = 6
Page 3 : 6 (3 - 1)) = 12
Donc ta requête va être comme ça :
$take = 6;
$page = $numero_de_page;
$interval = $take * ($page - 1);
$reponse2 = $bdd->query("SELECT * FROM sousmenu where idMenu='".$idPrP."' and pays='".$pays."' ORDER BY idSSmenu DESC LIMIT ". $interval . ", " . $take");
PS : J'ai fait ça de tête, il y a peut être moyen d'améliorer un peu le truc, je te laisse chercher les systèmes de pagination en PHP / MySQL.