PHP: navigation et numérotation de pages

Bonjour à tous,
Je suis à la recherche d'un petit script PHP (ou idée) afin de réaliser une numérotation de page et une navigation clair sur mon site.
Si quelqu'un a des idées, merci d'avance.
A+

8 réponses

  1. Salut,

    j'aime bien le code page par page à la google.... c un code PHP/MySql... auriez vous la même chose en PHP/Access?

    Merci!!
    1. Bonsoir,
      Et pourquoi pas quelque chose comme ça :
      << Précente | Page X | Aller à la page (liste déroulante avec tous les numéros de page) | Suivante >>
      La liste déroulante s'écrit facilement en php.
      Page X serait la page courante.
      A voir...
      1. Salut,
        je cherche quelque chose dans le genre, tu as pas un exemple comment faire ça? surtout je vois pas comment faire avec la liste déroulante
    2. Tout d'abord, merci à tous pour votre aide;
      La solution qui me conviendrait le plus c'est en effet, un truc dans le même style que google...
      Mais pour le faire..... j'vois pas trop. quelqu'un aurait il un petit script php qui pourrait m'aider ?
      Merci d'avance.
      1. Salut,

        je devrais pas faire ca mais bon :)
        pour les images prend les direct
        sur l'un de mes sites :: http://www.charmapart.com

        @++

        <?php
        // ------------------------------------------------------------------------
        // image_html
        // ------------------------------------------------------------------------
        function image_html($img, $align = "absmiddle")
        {
        $taille = @getimagesize($img);
        return '<IMG SRC="'.$img.'" '.$taille[3].' BORDER=0 ALIGN="'.$align.'">';
        }

        // ------------------------------------------------------------------------
        // barre_navigation
        // ------------------------------------------------------------------------
        function barre_navigation($nbtotal,
        $nbenr,
        $cfg_nbres_ppage,
        $debut, $cfg_nb_pages
        )
        {
        // --------------------------------------------------------------------
        global $cfg_nb_pages; // Nb de n° de pages affichées dans la barre

        $lien_on = ' <A HREF="{cible}">{lien}</A> ';
        $lien_off = ' {lien} ';
        // --------------------------------------------------------------------

        $query = 'index.php?debut=';

        // début << .
        // --------------------------------------------------------------------
        if ($debut >= $cfg_nbres_ppage)
        {
        $cible = $query.(0);
        $image = image_html('images/gauche_on.gif');
        $lien = str_replace('{lien}', $image.$image, $lien_on);
        $lien = str_replace('{cible}', $cible, $lien);
        }
        else
        {
        $image = image_html('images/gauche_off.gif');
        $lien = str_replace('{lien}', $image.$image, $lien_off);
        }
        $barre .= $lien." <B><font color = foe3ae>·</B>";

        // précédent < .
        // --------------------------------------------------------------------
        if ($debut >= $cfg_nbres_ppage)
        {
        $cible = $query.($debut-$cfg_nbres_ppage);
        $image = image_html('images/gauche_on.gif');
        $lien = str_replace('{lien}', $image, $lien_on);
        $lien = str_replace('{cible}', $cible, $lien);
        }
        else
        {
        $image = image_html('images/gauche_off.gif');
        $lien = str_replace('{lien}', $image, $lien_off);
        }
        $barre .= $lien." <B>·</B>";

        // pages 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10
        // -------------------------------------------------------------------

        if ($debut >= ($cfg_nb_pages * $cfg_nbres_ppage))
        {
        $cpt_fin = ($debut / $cfg_nbres_ppage) + 1;
        $cpt_deb = $cpt_fin - $cfg_nb_pages + 1;
        }
        else
        {
        $cpt_deb = 1;

        $cpt_fin = (int)($nbtotal / $cfg_nbres_ppage);
        if (($nbtotal % $cfg_nbres_ppage) != 0) $cpt_fin++;

        if ($cpt_fin > $cfg_nb_pages) $cpt_fin = $cfg_nb_pages;
        }

        for ($cpt = $cpt_deb; $cpt <= $cpt_fin; $cpt++)
        {
        if ($cpt == ($debut / $cfg_nbres_ppage) + 1)
        {
        $barre .= "<A CLASS='ma'> ".$cpt." </A> ";
        }
        else
        {
        $barre .= "<A CLASS='on' HREF='".$query.(($cpt-1)*$cfg_nbres_ppage);
        $barre .= "'<A> ".$cpt." </A> ";
        }
        }

        // suivant . >
        // --------------------------------------------------------------------
        if ($debut + $cfg_nbres_ppage < $nbtotal)
        {
        $cible = $query.($debut+$cfg_nbres_ppage);
        $image = image_html('images/droite_on.gif');
        $lien = str_replace('{lien}', $image, $lien_on);
        $lien = str_replace('{cible}', $cible, $lien);
        }
        else
        {
        $image = image_html('images/droite_off.gif');
        $lien = str_replace('{lien}', $image, $lien_off);
        }
        $barre .= " <B>·</B>".$lien;

        // fin . >>
        // --------------------------------------------------------------------
        $fin = ($nbtotal - ($nbtotal % $cfg_nbres_ppage));
        if (($nbtotal % $cfg_nbres_ppage) == 0) $fin = $fin - $cfg_nbres_ppage;

        if ($fin != $debut)
        {
        $cible = $query.$fin;
        $image = image_html('images/droite_on.gif');
        $lien = str_replace('{lien}', $image.$image, $lien_on);
        $lien = str_replace('{cible}', $cible, $lien);
        }
        else
        {
        $image = image_html('images/droite_off.gif');
        $lien = str_replace('{lien}', $image.$image, $lien_off);
        }
        $barre .= "<B>·</B> ".$lien;

        return($barre);
        }

        $cfgBase = $sql_base;

        // ------------------------------------------------------------------------
        $nom_table = '';
        $champs = '*';
        // ------------------------------------------------------------------------
        $cfg_nbres_ppage = 3; // Nombre de réponses par page
        $cfg_nb_pages = 10; // Nombre de n° de pages affichés dans la barre
        // ------------------------------------------------------------------------
        $nbtotal = 5;
        if (!isset($nbtotal)) $nbtotal = 4;
        if (!isset($debut)) $debut = 0;

        // recherche des réponses
        $sql = 'SELECT '.$champs.' ';
        $sql .= 'FROM '.$nom_table.' ';
        $sql .= ' ORDER BY id ASC';
        $sql .= ' LIMIT '.$debut.','.$cfg_nbres_ppage;

        $resultat = mysql_db_query($cfgBase, $sql);
        $nbenr = mysql_num_rows($resultat);

        // plage de réponses
        $barre_nav = '<TABLE BORDER=0 WIDTH="100%" CELLPADDING=3 CELLSPACING=1>';
        $barre_nav .= '<TR class=normalnobold><TD BGCOLOR=#f8f8f8 WIDTH="35%" ALIGN="left">';
        $barre_nav .= '     Result: <B>'.($debut + 1).'</B> to <B>'.($debut + $nbenr).'</B>';
        $barre_nav .= ' of <B>'.($nbtotal).'</B></TD>';

        // barre de navigation
        if($nbtotal>10){$barre_nav .= "<TD ALIGN='center' WIDTH='60%'> ";}
        if($nbtotal<=10){$barre_nav .= "<TD BGCOLOR=#f8f8f8 ALIGN='center' WIDTH='60%'> ";}

        if ($nbtotal > $cfg_nbres_ppage)
        {
        $barre_nav .= barre_navigation($nbtotal, $nbenr,
        $cfg_nbres_ppage,
        $debut, $cfg_nb_pages
        );
        }
        $barre_nav .= "</TD></TR></TABLE>\n";

        // affichage de la barre de navigation
        echo $barre_nav;

        // affichage des données

        while ($row = mysql_fetch_array($resultat))
        { print" $row[YEPYEP]</b><br> "; } ?>
      2. Re,

        Merci pour le site d'appart mais en ce moment ce site est en campagne Google sur l'amérique latine et ca marche du feu de dieu, par contre si en tapant PHP sur ton moteur de recherche ::: mon site : http://www.phpsources.net pouvait etre en premiere page ca serait génial car je pense que c mérité. Enfin c toi qui vois :)

        Laurent
        http://www.phpsources.net