標籤:資料 樣式 rom 定義 判斷 內容 htm tab Null 字元串
用php做分頁弄懂邏輯關係其實不難,不過我在聽課的時候估計是被老師講的那些變數裡的英文單詞給聽懵了,因為有幾個變數的名字都很像,只是換了兩三個英文字母而已,有的就少幾個這樣的,聽到一半已經不知道老師講的這個變數代表的是什麼了,寫這個也只是為了複習一下,溫故而知新嘛。
英文翻譯:page:頁 per:由,依靠
//引用資料庫 下面附贈一個串連資料庫的封裝函數使用sql語句時用my_query()這個函數;include ./MySQLDB.php;
//先設定當前選中的頁碼數
$pageNum = isset($_GET[‘num‘]) ? $_GET[‘num‘] : 1;
//定義每一頁顯示的記錄數
$rowsPerPage = 5;
//查詢總記錄數
$sql = "select count(*) from publish";
$result = my_query($sql);
$rows = mysql_fetch_row($result);
$rowCount = $rows[0];//總記錄數
//計算總頁數
$pages = ceil($rowCount/$rowsPerPage); //總頁數=向上取整(總記錄數/每一頁顯示的記錄數)
//拼湊出頁碼字串
$strPage = ‘‘; //這裡是定義一個Null 字元串,然後用串連的方式把HTML的標記和內容都串聯起來
//先拼湊出首頁
$strPage .="<a href=‘./list_father.php?num=1‘>首頁</a>";
//拼湊出上一頁
$preNum = $pageNum == 1 ? 1 : $pageNum-1;
$strPage .="<a href=‘./list_father.php?num=$preNum‘>上一頁</a>";
//顯示的初始頁
if($pageNum <= 3){
$startNum = 1;
}else{
$startNum = $pageNum-2;
}
//顯示的初始頁最大值
if($startNum >=$pageNum - 4){ //要顯示的是五個頁數所以初始頁的最大值不能大於當前頁—4
$startNum = $pageNum -4;
}
//防止頁碼出現負值
if($startNum <=1){
$startNum = 1;
}
//確定顯示的最後一頁$endNum
$endNum = $startNum + 4; //要顯示的是五個頁數所以最後一頁必定是初始頁+4
//防止最後一頁出界
if($endNum>=$pages){ //最後一頁大過總頁就讓他數字變總頁的數字
$endNum = $pages;
}
for($i=$startNum;$i<=$endNum;$i++){ //拿初始頁和最後一頁迴圈比大迴圈,迴圈5次
if($i==$pageNum){ //當前的頁碼數被選中就給它樣式區分其他頁的頁碼數
$strPage .= "<a href=‘./list_father.php?num=$i‘><font color=blue>$i</font></a>";
}else{
$strPage .= "<a href=‘./list_father.php?num=$i‘>$i</a>";
}
}
//拼湊出下一頁
$nextNum = $pageNum == $pages ? $pages : $pageNum+1;
$strPage .= "<a href=‘./list_father.php?num=$nextNum‘>下一頁</a>";
//拼湊出尾頁
$strPage .= "<a href=‘./list_father.php?num=$pages‘>尾頁</a>";
//分頁到此結束
<?php
function my_connect($arr){
//接受參數
$host = isset($arr[‘host‘]) ? $arr[‘host‘]:‘主機名稱字‘;
$port = isset($arr[‘$port‘]) ? $arr[‘port‘]:‘連接埠號碼‘;
$user = isset($arr[‘user‘]) ? $arr[‘user‘]:‘使用者類型‘;
$pass = isset($arr[‘isset‘]) ? $arr[‘isset‘]:‘自己設定的密碼‘;
$link = @ mysql_connect("$host:$port",$user,$pass);
if(!$link){
//資料庫連接失敗
echo "資料庫連接失敗!<br/>";
echo "錯誤編號:",mysql_errno(),"<br/>";
echo "錯誤資訊:",mysql_error(),"<br/>";
die;
}
}
function my_query($sql){
//先執行sql語句
$result = mysql_query($sql);
//判斷是否執行成功
if(!$result){
//輸出相關錯誤資訊
echo "sql語句執行失敗!<br/>";
echo "錯誤sql語句是:",$sql,"<br/>";
echo "錯誤編號:",mysql_errno(),"<br/>";
echo "錯誤資訊:",mysql_error(),"<br/>";
die;
}
return $result;
}
//設定預設字元集
function my_charset($charset){
$sql = "set names $charset";
my_query($sql);
}
//設定預設資料庫
function my_database($db_name){
$sql = "use $db_name";
my_query($sql);
}
//串連資料庫
$arr = array(
"user" => "使用者類型",
"pass" => "設定的密碼"
);
//串連資料三部曲
my_connect($arr);
my_charset(‘字元集‘);
my_database(‘要選擇的資料庫‘);
用PHP+MySQL來做分頁的示範