国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

php原生開(kāi)發(fā)新聞?wù)局侣劻斜矸猪?yè)

我們上一節(jié)課給大家講述了新聞列表的功能制作,上節(jié)課中我們新聞列表頁(yè)下面有一個(gè)分頁(yè)功能!那么我們今天就來(lái)給大家介紹一下關(guān)于分頁(yè)實(shí)現(xiàn)的制作過(guò)程!

首先我們創(chuàng)建一個(gè)php文件page.php,這個(gè)文件里面我們放制作分頁(yè)的代碼!

第一步:一樣,就是連接數(shù)據(jù)庫(kù)!

// 顯示所有的錯(cuò)誤
error_reporting(E_ALL & ~E_NOTICE  );
// 連接mysql數(shù)據(jù)庫(kù)
$link = mysqli_connect('localhost','root', 'root');
if (!$link) {
    echo "connect mysql error!";
    exit();
}
// 選中數(shù)據(jù)庫(kù) news為數(shù)據(jù)庫(kù)的名字
$db_selected = mysqli_select_db($link, 'news');
if (!$db_selected) {
    echo "<br>selected db error!";
    exit();
}
// 設(shè)置mysql字符集 為 utf8
$link->query("set names utf8");

第二步:分頁(yè)功能的實(shí)現(xiàn),在哪個(gè)列表里我們就需要查詢(xún)哪個(gè)數(shù)據(jù)表,我們是新聞的分頁(yè),那么我們SQL語(yǔ)句就要查新聞的表

// 查詢(xún)新聞表中的數(shù)據(jù)
$sql = "select * from new where 1 "; // 查詢(xún)語(yǔ)句
$sql_count =  "select count(*) as amount from new where 1 "; // 統(tǒng)計(jì)總記錄數(shù)
$sql .= "order by id asc";

接著就是獲取總記錄條數(shù):

// 獲取總記錄條數(shù)
$result_amount = mysqli_query($link, $sql_count);
$arr_amount = mysqli_fetch_array(mysqli_query($link, $sql_count), MYSQL_ASSOC);
// 總記錄條數(shù)
$amount = $arr_amount['amount'];

然后設(shè)置總頁(yè)數(shù),以及總頁(yè)碼

// 每頁(yè)的記錄條數(shù)
$page_size = 4;
// 總頁(yè)碼
$max_page = ceil( $amount / $page_size );

大家都知道分頁(yè)有個(gè)公式算法,我們就根據(jù)這個(gè)公式來(lái)計(jì)算上一頁(yè),下一頁(yè),尾頁(yè)!

// 獲取當(dāng)前頁(yè)碼
$page = intval($_GET['page']); // 獲取page值,并轉(zhuǎn)成int
if( $page <= 0 || $page > $max_page){  // 如果page值小于0,或是大于最大頁(yè)碼
    $page = 1;
}
// 上一頁(yè)
$pre_page = $page -1;
if( $pre_page < 1 ){ // 如果上一頁(yè)小于1
    $pre_page = 1;
}

// 下一頁(yè)
$next_page = $page + 1;
if( $next_page > $max_page ){ // 如果下一頁(yè)大于最大頁(yè)碼
    $next_page = $max_page;
}
// 分頁(yè)計(jì)算, 計(jì)算分頁(yè)的offset
$offset = ($page - 1 ) * $page_size;
$sql .= " limit $offset, $page_size ";

到這里我們的分頁(yè)代碼就寫(xiě)完了,然后在新聞列表頁(yè) 引入這個(gè)分頁(yè)文件

<?php
include_once "../common/page.php";
?>

最后在新聞列表頁(yè)的下面找到分頁(yè)的位置,輸出分頁(yè)

<div class="pagelist">
<a href="new_list.php">首頁(yè)</a>
<?php
if( $page > 1 ){
    ?>
    <a href="new_list.php?page=<?php echo $pre_page;?>">上一頁(yè)</a>
    <?
}
if( $page < $max_page ){
    ?>
    <a href="new_list.php?page=<?php echo $next_page;?>">下一頁(yè)</a>
    <?
}
?>
<a href="new_list.php?page=<?php echo $max_page;?>">末頁(yè)</a>
/  總頁(yè)碼 <font color="red"><?php echo $max_page;?></font>頁(yè) 當(dāng)前頁(yè)碼 <font color="red"><?php echo $page;?></font>頁(yè)
</div>

1741.png

OK!分頁(yè)就制作完成了!

說(shuō)明:這里我的可能有點(diǎn)麻煩,大家也可以在網(wǎng)站下載分頁(yè)類(lèi),然后直接調(diào)用!但是你要知道分頁(yè)實(shí)現(xiàn)的原理~

繼續(xù)學(xué)習(xí)
||
<?php // 顯示所有的錯(cuò)誤 error_reporting(E_ALL & ~E_NOTICE ); // 連接mysql數(shù)據(jù)庫(kù) $link = mysqli_connect('localhost','root', 'root'); if (!$link) { echo "connect mysql error!"; exit(); } // 選中數(shù)據(jù)庫(kù) news為數(shù)據(jù)庫(kù)的名字 $db_selected = mysqli_select_db($link, 'news'); if (!$db_selected) { echo "<br>selected db error!"; exit(); } // 設(shè)置mysql字符集 為 utf8 $link->query("set names utf8"); // 查詢(xún)簡(jiǎn)歷表中的用戶信息 $sql = "select * from new where 1 "; // 查詢(xún)語(yǔ)句 $sql_count = "select count(*) as amount from new where 1 "; // 統(tǒng)計(jì)總記錄數(shù) $sql .= "order by id asc"; // 獲取總記錄條數(shù) $result_amount = mysqli_query($link, $sql_count); $arr_amount = mysqli_fetch_array(mysqli_query($link, $sql_count), MYSQL_ASSOC); // 總記錄條數(shù) $amount = $arr_amount['amount']; // 每頁(yè)的記錄條數(shù) $page_size = 4; // 總頁(yè)碼 $max_page = ceil( $amount / $page_size ); // 獲取當(dāng)前頁(yè)碼 $page = intval($_GET['page']); // 獲取page值,并轉(zhuǎn)成int if( $page <= 0 || $page > $max_page){ // 如果page值小于0,或是大于最大頁(yè)碼 $page = 1; } // 上一頁(yè) $pre_page = $page -1; if( $pre_page < 1 ){ // 如果上一頁(yè)小于1 $pre_page = 1; } // 下一頁(yè) $next_page = $page + 1; if( $next_page > $max_page ){ // 如果下一頁(yè)大于最大頁(yè)碼 $next_page = $max_page; } // 分頁(yè)計(jì)算, 計(jì)算分頁(yè)的offset $offset = ($page - 1 ) * $page_size; $sql .= " limit $offset, $page_size "; ?>
提交重置代碼