2010-08-06 5 views
0

J'ai besoin d'aide pour ajouter une ellipse à mon script de pagination. Je ne trouve rien de simple sur Google. Voilà pourquoi je demande ici. Je vous remercie!!! Voici le code;comment ajouter des ellipses à la pagination?

if (isset($_GET['p'])) { 
    $pageno = $_GET['p']; 
} else { 
    $pageno = 1; 
} // if 
$query = mysql_query("SELECT count(id) FROM m3_musicblog"); 
$query_data = mysql_fetch_row($query); 
$numrows = $query_data[0]; 
$rows_per_page = 4; 
$lastpage  = ceil($numrows/$rows_per_page); 
$pageno = (int)$pageno; 
if ($pageno > $lastpage) { 
    $pageno = $lastpage; 
} // if 
if ($pageno < 1) { 
    $pageno = 1; 
} // if 
$limit = 'ORDER BY id DESC LIMIT ' .($pageno - 1) * $rows_per_page .',' .$rows_per_page; 
$query = mysql_query("SELECT * FROM m3_musicblog $limit"); 
if ($pageno == 1) { 
    echo "<a>««</a> <a>«</a> "; 
} else { 
    echo " <a href='music-news?p=1'>««</a> "; 
    $prevpage = $pageno-1; 
    echo " <a href='music-news?p=$prevpage'>«</a> "; 
} // if 

for($page_number = 1; $page_number <= $lastpage; $page_number++) 
if($page_number == $pageno) { 
echo "<span class='current'>$pageno</span>"; 
} 
else { 
echo "<a href='music-news?p=$page_number' class='page' title='$page_number'>$page_number</a>"; 
} 

if ($pageno == $lastpage) { 
    echo " <a>»</a> <a>»»</a> "; 
} else { 
    $nextpage = $pageno+1; 
    echo " <a href='music-news?p=$nextpage'>»</a> "; 
    echo " <a href='music-news?p=$lastpage'>»»</a> "; 
} // if 
+0

Voulez-vous dire une ellipse dans les liens inférieurs («« «1 2 ... 5 6 7 ... 102 103» »»)? –

+0

@victor oui! les trois points! –

+0

Une ellipse n'est pas trois points mais '...'. En tant qu'entité HTML c'est '& hellip;' – Gordon

Répondre

1

Cela devrait le faire:

$printed_ellipsis = false; 
for($page_number = 1; $page_number <= $lastpage; $page_number++) { 
    if ($page_number > 4 && !$printed_ellipsis) { 
     echo "&hellip;" // horizontal ellipsis character 
     $page_number = max(0, $lastpage - 3); 
     $printed_ellipsis = true; 
    } 
    if($page_number == $pageno) { 
     echo "<span class='current'>$pageno</span>"; 
    }else{ 
     echo "<a href='music-news?p=$page_number' class='page' title='$page_number'>$page_number</a>"; 
    } 
} 

Désolé si mon PHP est un peu hors tension (il a été un certain temps), mais vous devriez être en mesure d'obtenir l'idée de ce que ce code fait.

+0

ok, cela a très bien fonctionné mais quand j'arrive à la quatrième page 5 6 7 ne montre pas –

+0

Pourriez-vous poster la sortie que vous obtenez, et la sortie que vous voulez à la place? – David

Questions connexes