0


0

改ページに省略記号を追加する方法は?

ページ区切りスクリプトに省略記号を追加するのに助けが必要です。 Googleで簡単なものを見つけることができません。 だから私はここで尋ねます。 ありがとうございました!!! これがコードです。

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 "«« « ";
} else {
   echo " «« ";
   $prevpage = $pageno-1;
   echo " « ";
} // if

for($page_number = 1; $page_number <= $lastpage; $page_number++)
if($page_number == $pageno) {
echo "$pageno";
}
else {
echo "$page_number";
}

if ($pageno == $lastpage) {
   echo " » »» ";
} else {
   $nextpage = $pageno+1;
   echo " » ";
   echo " »» ";
} // if

1 Answer


1


これはそれをするはずです:

$printed_ellipsis = false;
for($page_number = 1; $page_number <= $lastpage; $page_number++) {
    if ($page_number > 4 && !$printed_ellipsis) {
        echo "…" // horizontal ellipsis character
        $page_number = max(0, $lastpage - 3);
        $printed_ellipsis = true;
    }
    if($page_number == $pageno) {
        echo "$pageno";
    }else{
        echo "$page_number";
    }
}

私のPHPが少しずれている(しばらくしていた)場合は申し訳ありませんが、このコードが何をするのかを理解できるはずです。