php分页显示函数 源代码
require('web_page.php'); //包含分页程序
//数据库配置
$mysql_host = 'localhost'; //数据库服务器
$mysql_user = 'root'; //数据库用户名
$mysql_pass = '123456'; //数据库密码
$mysql_db = 'test'; //数据库名
//连接mysql数据库
$link = mysql_connect($mysql_host,$mysql_user,$mysql_pass) or die ('连接MYSQL服务器出错');
mysql_select_db($mysql_db,$link) or die ('连接MYSQL数据库出错');
//分页开始
$sql_page = "select news_id,news_title from cms_news order by news_id desc";
$sql = mysql_query($sql_page);
$num = mysql_num_rows($sql); //总条数
$max = 1; //每页条数
$pagenum = ceil($num/$max); //可分页数
if(!isset($_GET['page']) or !intval($_GET['page']) or !is_numeric($_GET['page']) or $_GET['page'] > $pagenum){
$page = 1; //当页数不存在 不为十进制数 不是数字 大于可分页数 为1
}else{
$page = $_GET['page']; //当前页数
}
$min = ($page-1)*$max; //当前页从$min条开始
$sql = "{$sql_page} limit $min,$max";
echo '
//mysql_free_result($sql); //释放资源
?>
//ページング終了
mysql_close();
?>
上が呼び出しメソッド、下がページングプログラム
function web_page($pageurl="", $pageselect = true){
global $page,$num,$pagenum //現在のページ番号、総ページ数、ページ数;ページに分割できるページ
echo "Total $num records, ";
$uppage = $page - 1; // 前のページ
$downpage = $page + 1; // 次のページ
$lr = 5; ; // 接続されているページの数を表示します
$ left = Floor(($lr-1)/2) // 左側に表示されるページの数を表示します
$right = Floor($lr/2);右側に表示されるページ接続の数
//開始ページと終了ページについては以下を参照してください
if($page <= $left){ //現在のページの左側にページ番号を表示するのに十分でない場合
$leftpage = 1;
$rightpage = (($lr<$pagenum)?$lr: $pagenum);
}elseif(($pagenum-$page) < $right){ //現在のページはページ番号を表示するには十分ではありません
$leftpage = (($pagenum<$lr)?1:($pagenum -$lr+1));
$rightpage = $pagenum;
}else{ //ページ数は左右に表示可能です
$leftpage = $page - $left;
$rightpage = $page + $right;
}
//最初の$lrページと次の$lrページ
$qianpage = (($page-$lr) < 1?1:($page-$lr));
$houpage = (($page+$lr) > ; $pagenum?$pagenum:($page+$lr) ));
//ページングを出力します
if($page != 1){
echo " << < ;
}else{
echo "<< < ";
}
for($pages = $leftpage; $pages <= $rightpage; $pages++){
if($pages == $page){
echo "$pages ";
}else{
}echo "$pages ";
}
}
if($page != $pagenum){
echo "> ; >>";
}else{
echo "> >> ";
}
/ /Jump
$javapage = <<
EOM;
echo $javapage;
if ($pageselect){
echo "Jump to ページ";
}
}
?>