{MySQL} Afficher nombre de News

JJBlow Messages postés 50 Statut Membre -  
JJBlow Messages postés 50 Statut Membre -
Bonjour, voilà, j'ai sur mon site une page avec des news, des petits articles.

Mais voilà, cela fait un bout de temps que sa continu et il y en a de plus en plus, c'est assez gênant car la page est de plus en plus remplie et est plus longue à charger.

Je souhaiterais savoir comment faire pour qu'il y ai une sorte soit de liste déroulante:
News 1-10
News 11-20
News 21-30
etc...

Ou alors comment les mettre sur plusieurs pages ? Mettre par exemple 10 news par page et au mieux que sa se fasse automatiquement; mais ce système m'a l'air plus compliqué à réaliser.

J'ai une table news_tbl

Merci d'avance de votre aide.
Bonne journée.
Configuration: Windows XP

2 réponses

  1. moderno31 Messages postés 900 Statut Membre 92
     
    Hello,
    Voici un exemple
    J'avais trouvé le code sur le net. De moi même je ne saurais pas écrire ça.
    J'ai l'ai extrait d'un fichier fichier, j'espère qu'il ne contient pas d'erreurs.
    <?php

    echo("<div>");

    echo("<table width='70%' border='0'>");
    echo("<tr>");
    echo("<th scope='col' align='left' class='visu_item'>Num</th>");
    echo("<th scope='col' align='left' class='visu_item'>Nom</th>");
    echo("<th scope='col' align='left' class='visu_item'>Prénom</th>");
    echo("</tr>");

    //Requete qui affiche la liste des Cat.Adulte provisoires
    $query = "SELECT num, nom, prenom FROM tab";
    $result = mysql_query($query);

    $Nmax = 20; // nombre par page
    $Ncur = 0; // n° de la fiche courante
    $Ndeb= @$_GET["num"]; // 1ère fiche transmise par l'URL

    // tant qu'il y a des fiches
    while (($val = mysql_fetch_row($result)) && ($Ncur<$Nmax+$Ndeb)) {
    if($Ncur>=$Ndeb) {

    //Dans cette boucle construire la liste voulue.
    /*
    Attention mysql_fetch_row [-->$val[0] pour afficher le numéro
    différent de
    mysql_fetch_array -->$val["num"] pour afficher le numéro
    */
    }
    // une de plus
    $Ncur++;
    }

    ?>

    <?php
    echo("<tr><td><label>Pages de résultat :</label></td><td>");
    // N° des pages
    $Npag = ceil(mysql_numrows($result)/$Nmax);
    for($i = 1;$i<=$Npag;$i++) {
    // Page courante ?
    if($Ndeb == ($i-1)*$Nmax) { ?>
    <?php echo $i; ?>
    <?php } else { ?>
    <A href="?num=<?php echo ($i-1)*$Nmax; ?>"
    > <?php echo $i; ?> </A>
    <?php }
    } ?>

    <?php // Des fiches après ?
    if($val) { ?>
    <td valign=top>
    <A href="?num=<?php echo $Ncur; ?>">Suite</A>
    </td>
    <?php } ?>
    0
  2. JJBlow Messages postés 50 Statut Membre 2
     
    Merci bien, je vais tester ça.

    Bonne journée.
    0