Commentaire(s) Création de la page affichant les articles








Note :Si votre commentaire contient du code, sélectionner votre code avec votre souris puis utiliser la liste "Styles" et sélectionner "Code".


gjkmnq78
Nombre de commentaire : 3

Commentaire(s)

  • #561 Commentaire de Yayap13 posté le 16/12/11 à 21:04:33 :
  • Yayap13
  • Déjà: Bonjour et merci pour ces tutorials! (ils sont vraiment cool et bien foutus)

    Mais j'ai en quelque sorte un problème..
    J'aimerais rajouter la possibilité de faire un page précédente/suivante après avoir afficher les 5 dernières "news" sur mon site!

    Le problème c'est que ça fait trois jours que j'essaie et je ne trouve toujours pas..

    Si tu pouvait me donner quelques conseils et m'aiguiller un peu ce serait vraiment chouette ;)

    Bonne soirée Yayap.

  • #562 Commentaire de c00lman posté le 17/12/11 à 11:02:01 :
  • c00lman
  • Bonjour Yayap13,

    Je prend comme exemple la page qui affiche les articles et sur la quelle on souhaite afficher en bas de page l'article suivant et précédent. Je détaille chaque étape pour bien comprendre :).

    On cherche quoi » un id
    SELECT id
    Dans quelle table » table CONTENU
    SELECT id  FROM CONTENU
    Dans quelle champ » champ id
    SELECT id, FROM CONTENU WHERE id
    Qui soit comment » inférieure < et supérieure > à l'id actuel
    SELECT id, titre FROM CONTENU WHERE id  > '".$id_transmit."'
    Dans quelle catégorie » dans la catégorie dont dépend l'article actuel
    SELECT id FROM CONTENU WHERE id > '".$id_transmit."' AND id_categorie = '".$id_categorie."'
    Pour obtenir l'id suivant, on effectue un classement par ordre croissant
    SELECT id FROM CONTENU WHERE id > '".$id_transmit."' AND id_categorie = '".$id_categorie."' ORDER BY id ASC
    Comme celui qui nous interesse est juste le suivant, on indique une limite
    SELECT id, titre FROM CONTENU WHERE id > '".$id_transmit."' AND id_categorie = '".$id_categorie."' ORDER BY id ASC LIMIT 0, 1

    Ensuite, on adapte la requête selon ce que l'on veut obtenir :

     <?php
    $suivant = mysql_query("SELECT id, titre FROM CONTENU WHERE id > '".$id_transmit."' AND id_categorie = '".$id_categorie."' ORDER BY id ASC LIMIT 0, 1");
    $affichesuivant = mysql_fetch_array($suivant);

    $precedent = mysql_query("SELECT id,titre FROM CONTENU WHERE id < '".$id_transmit."' AND id_categorie = '".$id_categorie."' ORDER BY id DESC LIMIT 0, 1");
    $afficheprecedent = mysql_fetch_array($precedent);

    echo '<a href="page.php?id='.$afficheprecedent['id'].'">'.$afficheprecedent['titre'].'</a> | <a href="page.php?id='.$affichesuivant['id'].'">'.$affichesuivant['titre'].'</a>';
    ?> 


    Note : dans la première boucle while() du code, il faut au préalable rajouter l'identifiant de la catégorie dont dépend l'article :

            while($affiche = mysql_fetch_array($page))
            {
                $titre=$affiche['titre'];
                $description=$affiche['description'];
                $contenu=$affiche['texte'];
                //On récupère l'identifiant de la catégorie
                $id_categorie = $affiche['id_categorie'];

            } 

  • #563 Commentaire de Yayap13 posté le 18/12/11 à 20:20:54 :
  • Yayap13
  • Merci beaucoup! C'est exactement ça ;)
    Je l'ai adapté et ça marche nickel! Encore merci pour toutes les explications!!

    Bonne soirée =P