Affichage des éléments d'une bdd sur plusieurs pages

Résolu/Fermé
Signaler
Messages postés
83
Date d'inscription
vendredi 22 juin 2012
Statut
Membre
Dernière intervention
24 juillet 2015
-
Messages postés
83
Date d'inscription
vendredi 22 juin 2012
Statut
Membre
Dernière intervention
24 juillet 2015
-
Bonjour,

Je m'entraîne à créer un système de boutique en ligne

Mais mon problème est le suivant :

Je possède une base de donnée MYSQL contenant plusieurs objets mais le problème c'est que je souhaiterai afficher son contenu sur plusieurs page c'est à dire en bas de ma page je souhaiterai mettre un bouton suivant et précédent afin de permettre d'afficher par exemple 6 objets par page, j'ai essayé plusieurs méthodes mais mon approche est mauvaise et je n'arrive pas à faire cela

Pourriez-vous m'aider svp? (un exemple de code serai l'idéal)


2 réponses

Messages postés
18
Date d'inscription
lundi 16 avril 2012
Statut
Membre
Dernière intervention
15 mars 2013
1
Il vous suffit d'utiliser dans votre requête la fonction LIMIT

Exemple :
$requete =  "SELECT * FROM nom_table LIMIT 6"; 
 


Si tu veux qu'il s'affiche dans tous les bas de page, il aurait fallu dans chacune des pages mettre
<?php include('bas_de_page.php');?>

et crée une page bas_de_page.php contenant ta requete afin d'éviter de la resaisir sur chaque page.

Concernant ton bouton suivant/precedent, il faut dans ta base de donnée créée une table qui contient tes articles se présentant sous la forme suivante

ID LIBELLE PRIX ETC
1 T-shirt 20 ...
2 Stylo 5 ...

Donc créé un champ ID, avec les parametres Auto-increment et Primaire afin que la base SQL attribut un identifant unique et automatiquement a tes produits.
ensuite dans ta requete tu devras mettre.

LIMIT $min,6

La valeur de $min serait récuperer par la variable GET grace au bouton suivant ou précedent

Exemple :
<?php 
/*BOUTON SUIVANT*/ 
if (isset($_GET['min'])) { 
$min = $_GET['min']; 
$article_suivant = $min  + 6; 
echo '<a href="maboutique.php?min='.$article_suivant.'">Suivant</a>'; 
} 
else $min = 0; 

/*AFFICHAGE DES ARTICLES*/ 
$requete =  "SELECT * FROM nom_table ORDER BY ID ASC LIMIT $min, 6"; 

?> 

ACIGE
Agence de communication et d'informatique
Messages postés
83
Date d'inscription
vendredi 22 juin 2012
Statut
Membre
Dernière intervention
24 juillet 2015

D'accord j'ai testé avec cette méthode sa marche parfaitement, merci ;-)