PHP: navigation et numérotation de pages

Fermé
Nico - 25 janv. 2005 à 15:08
 Thibs - 2 août 2006 à 02:10
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+
A voir également:

8 réponses

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!!
3
j'ai oublié de dire que mon site était un annuaire et donc, j'ai beaucoup de numéro de pages à gérer, actuellement, c'est imbuvable, voici la démonstration :
http://www.meilleurduweb.com/?rep_rubrique=rubriques&page_centre=sitesclassement
0
Slt,

Ya toujours la solution de l'affichage page par page :
http://www.phpsources.net/scripts47-PHP.htm

@++
0
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...
0
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Re

Et pourquoi tu reprendrai pas une navigation genre google :)

<< Précente | Moyenne de 10 N° de page | Suivante >>

Laurent
http://www.phpsources.net
0
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.
0
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> "; } ?>
0
Merci beaucoup pour ton aide Laurent,
je vais essayer ton code.
Au passage, bravo pour ton site, je le trouve super agréable et bien fait, et pour info je l'ai inscrit dans l'annuaire du MeilleurDuWeb, tu peux le voir ici :
http://www.meilleurduweb.com/?rep_rubrique=rubriques&page_centre=sitesrubrique&cat=immobilier&page=61
A+ et encore merci.
0
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
0