亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

ニュース開発ページング機(jī)能

ページングは??ほぼすべての Web サイトで使用される機(jī)能です。コンテンツが多くてページングが使用されない場合、ページの表示が非常に長くなり、使用するのも見つけるのも非常に面倒になるため、これについて非常に実用的なものについて説明します。関數(shù)。

ページングの一般的な考え方:

ページングは??、データベース內(nèi)のすべての情報(bào)を一定の數(shù)でいくつかのセグメントに分割することです。そのため、ここでは 2 つのデータが必要です:

各ページに表示される情報(bào)項(xiàng)目の數(shù) $limitPage

現(xiàn)在のページング數(shù)を取得 $Page


コンピュータ言語はデフォルトで0からレコードを取得し始めるので

1ページあたりの表示數(shù)を5に設(shè)定した場合、$limitPage = 5、

次に最初のページ $page = 1 は 0, 1, 2 , 3 , 4 の 3 つのレコードを表示します

2 番目のページ $page = 2 は 5 , 6 , 7 , 8 , 9 , 10 を表示します 3 つのレコード

3 番目のページ $page = 3 は、11、12、13、14、15 の 3 つのレコード

を表示します。 。 。 。 。 。 。 。 。

データの読み取りを開始するパラメータ $limitFrom を設(shè)定します

上記のルールから、次のことが得られます:

$limitFrom = ($page - 1) * $limitPage;

それぞれ 0 番目と 5 番目から開始されます, 11件のデータ取得が開始されます。


次のステップは、データベースに接続してニュース項(xiàng)目の総數(shù)をカウントすることです:

<?php
$link = mysqli_connect('localhost','uesrname','password','news');
$sql = "select * from new";  //  select * from表示獲取全部字段的值
$sqlCount = "select count(*) from new";    //count(*)是計(jì)算數(shù)據(jù)總的條數(shù)
$retQuery = mysqli_query($link, $sqlCount);  //查詢數(shù)量sql語句
$retCount = mysqli_fetch_array($retQuery);   //獲取數(shù)量
$count = $retCount[0]?$retCount[0]:0;   //判斷獲取的新聞數(shù)量
$countNews = $count;
?>

次に、変數(shù) $countPage を與えて、合計(jì)で表示されるページ數(shù)を示します

これは久しぶりの狀況です。情報(bào)が 100 個(gè)ある場合、各ページに 11 個(gè)が表示されているとします。殘りの 1 個(gè)をどう処理するか、

その後、% を使用して殘りを判斷する必要があります。

<?php
$countPage = $countNews%$limitPage;   //求余數(shù)獲取分頁數(shù)量能否被除盡
if(($countPage) > 0) {  //獲取的頁數(shù)有余
  $countPage = ceil($countNews/$limitPage);    
// ceil() 函數(shù)向上舍入為最接近的整數(shù),除不盡則取整數(shù)+1頁, 100個(gè)新聞每個(gè)頁面顯示11個(gè),成9個(gè)頁面,剩余1個(gè)單獨(dú)成1個(gè)頁面,這樣總共有10個(gè)頁面
} else {
  $countPage = $countNews/$limitPage;  //如果是10個(gè)新聞每個(gè)頁面顯示2個(gè),成5個(gè)頁面
}
?>

その他のパラメータ 前ページ $prev、次ページ $next;

ページング機(jī)能では、「前ページ」「次ページ」をクリックしてジャンプすることがよくあります

の考え方についてお話します。最初に PHP コード関數(shù)を?qū)g裝します。

Previous Page $prev (現(xiàn)在のページ $page -1) は、段階的に前のページにジャンプします。 現(xiàn)在のページ $page が最初のページの場合、前方にジャンプするとページ 0 になります。これは明らかにバグを引き起こします

ここで、現(xiàn)在のページ $page が最初のページである場合、「前のページ」をクリックして最初のページとして表示され、前にジャンプしないように設(shè)定する必要があります。 。

$prev = ($page - 1 <= 0 )?1:$page-1;

次のページ $next は現(xiàn)在のページ $page -1 であり、段階的に次のページにジャンプします。問題は $page が最後のページの場合、「次のページ」をクリックして戻るときです

前のページと同様に、最後のページを表示するように設(shè)定します。

$next = ($page + 1 > $countPage)?$countPage:$page+1;

//現(xiàn)在のページ番號(hào)が総ページ數(shù)より大きい場合、現(xiàn)在のページが表示されます。

りー


學(xué)び続ける
||
<?php $link = mysqli_connect('localhost','usermane','password','test'); mysqli_set_charset($link, "utf8"); if (!$link) { die("連接失敗:".mysqli_connect_error()); } $page = isset($_GET['page'])?$_GET['page']:1;//獲取當(dāng)前分頁數(shù) $limitNews = 5; //每頁顯示新聞數(shù)量 $countNews = ""; //總共有多少條新聞 $countPage = ""; //一共有多少頁數(shù) $limitFrom = ($page - 1) * $limitPage;//從第幾條數(shù)據(jù)開始讀記錄 //每頁顯示5個(gè) //page = l limit 0 //page = 2 limit 5 //page = 3 limit 11 $sql = "select * from new"; $sqlCount = "select count(*) from new"; $retQuery = mysqli_query($link, $sqlCount); //查詢數(shù)量sql語句 $retCount = mysqli_fetch_array($retQuery); //獲取數(shù)量 $count = $retCount[0]?$retCount[0]:0; //判斷獲取的新聞數(shù)量 $countNews = $count; $countPage = $countNews%$limitPage; //求余數(shù)獲取分頁數(shù)量能否被除盡 if(($countPage) > 0) { //獲取的頁數(shù)有余 $countPage = ceil($countNews/$limitPage); // ceil() 函數(shù)向上舍入為最接近的整數(shù),除不盡則取整數(shù)+1頁, 100個(gè)新聞每個(gè)頁面顯示11個(gè),成9個(gè)頁面,剩余1個(gè)成1個(gè)頁面 } else { $countPage = $countNews/$limitPage; } $prev = ($page - 1 <= 0 )?1:$page-1; //上一頁 $next = ($page + 1 > $countPage)?$countPage:$page+1; //下一頁 $result = mysqli_query($link, $sql); ?> <!DOCTYPE html> <html> <head> <meta charset=utf8"> <title>分頁</title> </head> <body> <div> <a href="?page=<?php echo $prev;?>">|上一頁</a> <?php for($i=1; $i<=$countPage; $i++):?> <a href="?page=<?php echo $i;?>"><?php echo $i;?></a> <?php endfor;?> <a href="?page=<?php echo $next;?>">|下一頁</a> </div> </body> </html>
提出するリセットコード