PHP練手小demo實現分頁
阿新 • • 發佈:2018-12-25
建立表語句
CREATE TABLE `guestbook` (
`id` mediumint(8) unsigned NOT NULL auto_increment,
`nickname` char(15) NOT NULL default '',
`email` varchar(100) NOT NULL default '',
`content` text NOT NULL,
`createtime` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
插入資料
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('1', 'admin', '[email protected]', '留言測試', '1264167501');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('2', 'user', '[email protected] ', '大家好', '1264168127');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('3', '小明', '[email protected]', '做得好,繼續努力。。', '1264168865');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('4', '小張', '[email protected]', '來看看', '1264169118' );
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('5', '小麗', '[email protected]', 'haha', '1283276566');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('6', 'Tom', '[email protected]', 'Hello', '1283336218');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('7', 'Jack', '[email protected]', 'okok', '1283336315');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('8', 'admin', '[email protected]', '嗯嗯', '1283336315');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('9', '阿里巴巴', '[email protected]', '來看看', '1283337158');
insert into guestbook (`id`,`nickname`,`email`,`content`,`createtime`) values('10', '路人甲', '[email protected]', '哈哈哈', '1283338228');
原始碼
<?php
$host = 'localhost';
$username = 'root';
$password = '';
$dbname = 'test';
$port = '';
$link = new mysqli($host,$username,$password,$dbname);
if($link->connect_error){
die('Connect Error('.$linlk->connect_erron.')'.$link->connect_error);
}
$link->set_charset("utf8");
//每頁顯示的留言數
$pageSize = 4;
//確定當前頁數$p 引數
$p = isset($_GET['p']) ? $_GET['p'] : 1;
//資料指標
$offset = ($p-1)*$pageSize;
//查詢本頁顯示的資料
$query_sql = "select * from guestbook order by id desc limit $offset,$pageSize";
// echo $query_sql;
$result = $link->query($query_sql);
if($result){
while($gblist = $result->fetch_array(MYSQLI_ASSOC)){
echo '<a href="',$gblist['nickname'],'">',$gblist['nickname'],'</a> ';
echo '發表於:',date("Y-m-d H:i", $gblist['createtime']),'<br />';
echo '內容:',$gblist['content'],'<br /><hr />';
}
}
//分頁格式
$count_sql = "select count(*) as count from guestbook";
$count_result = $link->query($count_sql);
$count_array = $count_result->fetch_assoc();
$count = $count_array['count'];
//計算總的頁數
$pagenum = ceil($count/$pageSize);
echo '共',$count,'條留言';
//迴圈輸出各頁數目及連線
if($pagenum > 1){
for($i=1;$i<=$pagenum;$i++){
if($i == $p){
echo "[$i]";
}else{
echo "[<a href='oPagenate.php?p=$i"."'>$i</a>]";
}
}
}