/* ***************************************** * ***
* @クラス名: page
* @Parameters: $myde_total - レコードの総数
* $myde_size - 1 ページに表示されるレコード数
* * $myde_page - 現在のページ
* $myde_url - 現在のページを取得url
* @Function: ページングの実装
*/
class page {
private $myde_total; //総ページ数
private $myde_i;ページ表示、リンクを表示するページ数は 2*$show_pages+1 です。
* 如$show_pages=2那么页面上显示是[首页] [上页] 1 2 3 4 5 [下页] [尾页]
*/
private $show_pages;
public function __construct($myde_total = 1, $myde_size = 1, $myde_page = 1, $myde_url, $show_pages = 2) {
$this->myde_total = $this->numeric($myde_total);
$this->myde_size = $this-> ;numeric($myde_size);
$this->myde_page = $this->numeric($myde_page);
$this->myde_page_count = ceil($this->myde_total / $this->myde_size) ;
$this->myde_url = $myde_url;
if ($this->myde_total $this->myde_total = 0;
if ($this->myde_page $ this->myde_page = 1;
if ($this->myde_page_count $this->myde_page_count = 1;
if ($this->myde_page_count > $this->myde_page_count)
$this->myde_page = $this->myde_page_count;
$this->limit = ($this->myde_page - 1) * $this->myde_size;
$this->myde_i = $this ->myde_page - $show_pages;
$this->myde_en = $this->myde_page + $show_pages;
if ($this->myde_i < 1) {
$this->myde_en = $this->myde_en + (1 - $this->myde_i);
$this->myde_i = 1;
}
if ($this->my de_en > $this->myde_page_count) {
$this->myde_i = $this->myde_i - ($this->myde_en - $this->myde_page_count);
$this->myde_en = $ this->myde_page_count;
}
if ($this->myde_i $this->myde_i = 1;
}
//检测が数字かどうか
プライベート関数数値($num) {
if (strlen($num)) {
if (!preg_match("/^[0-9]+$/", $num)) {
$num = 1;
} else {
$num = substr($ num, 0, 11);
}
} else {
$num = 1;
}
return $num;
}
//地址换
プライベート関数 page_replace($page) {
return str_replace("{page} ", $page, $this->myde_url);
}
//首页
private function myde_home() {
if ($this->myde_page != 1) {
return "首页";
} else {
return "首页
";
}
}
//上一页
プライベート関数 myde_prev () {
if ($this->myde_page != 1) {
return "上一页";
} else {
return "上一页
";
}
}
//下一页
private function myde_next() {
if ($this->myde_page != $this->myde_page_count) {
return "下一页";
} else {
return"下一页
";
}
}
//尾页
private function myde_last() {
if ($this->myde_page != $this->myde_page_count) {
return "尾页";
} else {
return "尾页
";
}
}
//输出
public function myde_write($id = 'page') {
$str = "";
$str.=$this->myde_home();
$str.=$this->myde_prev();
if ($this->myde_i > 1) {
$str.="
...
";
}
for ($i = $this->myde_i; $i <= $this->myde_en; $i++) {
if ($i == $this->myde_page) {
$str.="
$i";
} else {
$str.="
$i";
}
}
if ($this->myde_en < $this->myde_page_count) {
$str.="
...
";
}
$str.=$this->myde_next();
$str.=$this->myde_last();
$str.="
共" . $this->myde_page_count .
"页" . $this->myde_total . "条数据
";
$str.="
";
return $str;
}
}
?>
include_once("config.php");
require_once('page.class.php'); //ページングクラス
$showrow = 3 //1ページに表示される行数
$curpage = empty($_GET['page']) ? 1 : $_GET['page']; //現在のページは数値以外の状況も処理する必要があります
$url = "?page={page}";アドレス、検索条件がある場合は="?page={page}&q=".$_GET['q']
//mysqlとリンクするコードは省略しているのでテスト時に自分で追加してください
$sql = "SELECT id, content,lastdate FROM message";
$total = mysql_num_rows(mysql_query($sql)); //レコードの総数
if (!empty($_GET['page']) && $total != 0 && $curpage > ; ceil( $total / $showrow))
$curpage = ceil($total_rows / $showrow); //現在のページ番号が最後のページ番号より大きいため、最後のページを取得します
//データを取得します
$sql 。 = " LIMIT " . ($ curpage - 1) * $showrow . ",$showrow;";
$query = mysql_query($sql);
?>
;meta name="keywords" c /> .com/jquery/css/common.css" />
padding:20px;
}
display:block;ピクセル;
を通じて を通じて を通じて を通じて を通じて' through ‐ to ‐ ‐‐‐‐‐‐ ‐ ‐ ‐ ‐ _ _ _ to 1px; -decoration:none;
#ページ a :hover{
カラー:
#ページp{
float:left; height:24px;
}
#page p.pageRemark b{
color:red;
}
#page p.pageEllipsis{
border-style:none;
background:none;
padding:4px 0px;
color:#808080;
}
.dates li {font-size: 14px;margin:20px 0}
.dates li span{float:right}
$page = 新しいページ($s howrow、$curpage、$url 2); ;div class = "足" >www.sucaihuo.com
">
$host="localhost";
$db_user="root";
$db_pass=" ";
$db_name="テスト";
$timez/上海";
$link=mysql_connect($host,$db_user,$db_pass);
mysql_select_db($db_name,$link);
mysql_query("SET names UTF8 ");header("コンテンツ-タイプ: text/html; ?>
上記では、PHP の一般的なページング コンポーネントを内容も含めて紹介しましたが、PHP チュートリアルに興味のある友人に役立つことを願っています。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31