老友記之PHP7留言板開發(fā)(分頁)

之前查詢留言記錄的時候只是簡單的記錄輸出痛侍,當留言人數(shù)多的時候怎么呢朝氓?一次性輸出成千上百條記錄是不現(xiàn)實的魔市,第一用戶體驗差,第二影響服務器性能赵哲;所以這個時候就需要分頁待德。

  • 關鍵詞:LIMIT,本節(jié)運用到的知識點還是之前的SQL查詢語句枫夺,在第二步驟中我們只需要將查詢記錄的SQL語句改造一下将宪。
<?php
 // 查詢所有id=3的記錄
$sql = "SELECT * FROM feedback WHERE id = 3";

// 查詢前10條記錄
$sql = "SELECT * FROM feedback WHERE id = 3 LIMIT 0, 10";

相信大家已經(jīng)看出有什么不同了。

效果圖:
每頁一條記錄橡庞,總共2條記錄较坛,共2頁
完整代碼:
<?php
include 'config.php';

$page = !empty($_GET['page'])?intval($_GET['page']):1;
$pagesize = 1;

// 統(tǒng)計總記錄數(shù),便于計算出總頁數(shù)
$sql = "SELECT * FROM feedback";
$result = mysqli_query($mysqli, $sql);
$total = mysqli_affected_rows($mysqli);
$total_page = ceil($total/$pagesize); // 進一法取整獲取總頁數(shù)

// 開始分頁查詢扒最,根據(jù)page計算偏移量
$offset = ($page - 1) * $pagesize;
$sql = "SELECT * FROM feedback LIMIT {$offset}, {$pagesize}";
$result = mysqli_query($mysqli, $sql);

$lists = array();
while($rows = mysqli_fetch_array($result)){
    $lists[] = $rows;
}

?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>列表_留言板_科科分享</title>
        <!-- 2.新建css樣式文件并根據(jù)效果圖編寫css代碼 -->
        <link rel="stylesheet" href="feedback.css">
        
    </head>
    <body>
        <!-- 工作區(qū)丑勤,呈現(xiàn)給用戶看的 -->
        <!-- 1.開始搭建腳手架 -->
        <div class="container_box">
            <div class="up">
                <h3 class="title">留言板</h3>
                <h5 class="subtitle">LIST</h5>
            </div>
            <div class="down list">
                <ul>
                    <?php
                    foreach($lists as $item){
                    ?>
                    <li>姓名:<?php echo $item['name']?> 聯(lián)系方式:<?php echo $item['contact']?> 內(nèi)容:<?php echo $item['content']?></li>
                    <?php
                    }
                    ?>
                </ul>
                <div class="pages">
                    <ul>
                        <?php
                        for($p = 1; $p<=$total_page; $p++){
                        ?>
                        <li <?php echo ($page == $p)?'class="active"':'';?>><a href="?page=<?php echo $p?>"><?php echo $p?></a></li>
                        <?php
                        }
                        ?>
                    </ul>
                </div>
            </div>
        </div>
    </body>
</html>
config.php
<?php
$localhost = '127.0.0.1';  // 數(shù)據(jù)庫地址
$user = 'root'; // 數(shù)據(jù)庫用戶名
$password = 'root'; // 數(shù)據(jù)庫密碼
$dbname = 'php_course'; // 數(shù)據(jù)庫名

$mysqli = mysqli_connect($localhost, $user, $password, $dbname);
if(mysqli_connect_errno()){
    echo '連接數(shù)據(jù)庫失敗:'.mysqli_connect_error();
    exit;
}
mysqli_query($mysqli, "SET NAMES UTF8");
feedback.css新增分頁樣式
/* 分頁 */
.pages{margin: 0 auto;}
.pages ul{list-style: none;}
.pages ul li{padding: 0 8px; border: 1px solid #e1e1e1;float: left;display: block;margin:0 4px;}
.pages ul li.active{background-color: #63637f;}
.pages ul li.active a{color: #fff;}
  • 分頁的要點在于計算總頁碼數(shù)及計算分頁偏移量吧趣;

這里要說明一下的是偏移量(每一頁的分界記錄數(shù))法竞,比如每頁顯示10條,那么第一頁的偏移量就是0再菊,第二頁是10爪喘,第三頁是20,以此類推纠拔;
得出公式就是(當前頁數(shù)-1)* 每頁顯示記錄數(shù)秉剑;
正如我們所看到的 $offset = ($page - 1) * $pagesize;

  • 值得注意的是三元運算符echo ($page == $p)?'class="active"':'';相當于if($page == $p){echo 'class="active"';}else{echo '';}

  • 最后只需把查詢出來的數(shù)據(jù)集輸出展示出來了。還是那句話稠诲,如果想要掌握記得要動手試試侦鹏,實踐是驗證真理的最好方法。如有什么講解錯誤或者不明白的地方臀叙,歡迎留言略水!

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市劝萤,隨后出現(xiàn)的幾起案子渊涝,更是在濱河造成了極大的恐慌,老刑警劉巖床嫌,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跨释,死亡現(xiàn)場離奇詭異,居然都是意外死亡厌处,警方通過查閱死者的電腦和手機鳖谈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來阔涉,“玉大人缆娃,你說我怎么就攤上這事捷绒。” “怎么了贯要?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵暖侨,是天一觀的道長。 經(jīng)常有香客問我崇渗,道長它碎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任显押,我火速辦了婚禮,結果婚禮上傻挂,老公的妹妹穿的比我還像新娘乘碑。我一直安慰自己,他們只是感情好金拒,可當我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布兽肤。 她就那樣靜靜地躺著,像睡著了一般绪抛。 火紅的嫁衣襯著肌膚如雪资铡。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天幢码,我揣著相機與錄音笤休,去河邊找鬼。 笑死症副,一個胖子當著我的面吹牛店雅,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贞铣,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼闹啦,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了辕坝?” 一聲冷哼從身側響起窍奋,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酱畅,沒想到半個月后琳袄,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡圣贸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年挚歧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片吁峻。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡滑负,死狀恐怖在张,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情矮慕,我是刑警寧澤帮匾,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站痴鳄,受9級特大地震影響瘟斜,放射性物質發(fā)生泄漏。R本人自食惡果不足惜痪寻,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一螺句、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧橡类,春花似錦蛇尚、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至研侣,卻和暖如春谱邪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背庶诡。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工惦银, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人末誓。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓璧函,卻偏偏與公主長得像,于是被迫代替她去往敵國和親基显。 傳聞我的和親對象是個殘疾皇子蘸吓,可洞房花燭夜當晚...
    茶點故事閱讀 44,611評論 2 353

推薦閱讀更多精彩內(nèi)容