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

Résolu
Zyo1 Messages postés 95 Statut Membre -  
Zyo1 Messages postés 95 Statut Membre -
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

  1. acige Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   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
    0
  2. Zyo1 Messages postés 95 Statut Membre
     
    D'accord j'ai testé avec cette méthode sa marche parfaitement, merci ;-)
    0