以ä¸ä¸ºå¼ç¨çå 容ï¼
?php
class pagelist{
var page; //å页页ç
var sql; //å页sql
var img_path; //å¾æ è·¯å¾
var img; //å¾æ å称
var img_btn; //å¾æ å°å
var page_size; //设置æ¯é¡µæ¾ç¤ºæ¡æ°
var num_btn; //设置æ°åå页çæ¾ç¤ºä¸ªæ°
var total_pages; //ä¸å ±åå¤å°é¡µ
var total_records; //ä¸å ±æå¤å°æ¡è®°å½
var url;
var table;
var new_sql; //æå®çSQLè¯å¥
var db;
function __construct(){
global db;
this-db = db;
tmp_page = intval(trim(_GET["page"]));
this-page = empty(tmp_page)?1:tmp_page;
this-set_table();
this-page_size = 20;
this-num_btn = 9;
this-img_path = â/images/â;
this-img = array("ico_first.gif", "ico_front.gif", "ico_next.gif", "ico_last.gif");
}
function set_table(){
this-table["tablename"] = "";
this-table["id"] = "id";
this-table["orderby"] = this-table["id"];
this-table["descasc"] = "DESC";
this-table["fileds"] = "*";
this-table["where"] = "";
}
function set_img(){
this-img_btn[0] = "img src=â".this-img_path.this-img[0]."â alt=âé¦é¡µâ ;
this-img_btn[1] = "img src=â".this-img_path.this-img[1]."â alt=âä¸ä¸é¡µâ ;
this-img_btn[2] = "img src=â".this-img_path.this-img[2]."â alt=âä¸ä¸é¡µâ ;
this-img_btn[3] = "img src=â".this-img_path.this-img[3]."â alt=âæ«é¡µâ ;
}
function set_show_page(){
this-set_img(); //设置翻页å¾çè·¯å¾
this-set_url();
this-set_total_records();
if (this-total_recordsthis-page_size){
this-total_pages = 1;
}else{
this-total_pages = ceil(this-total_records/this-page_size);
}
if (this-pagethis-total_pages){
this-page = this-total_pages;
}
}
function show_first_prv(){
if (this-page==1){
str = "strong".this-img_btn[0]."/strong strong".this-img_btn[1]."/strong";
}else{
str = "a href=â".this-url."1"."â".this-img_btn[0]."/a "; //æ¤å¤1为é¦é¡µï¼pageå¼ä¸º1
str.= "a href=â".this-url.(this-page-1)."â".this-img_btn[1]."/a";
}
return str;
}
function show_next_last(){
if (this-page=this-total_pages){
str = "strong".this-img_btn[2]."/strong strong".this-img_btn[3]."/strong";
}else{
str = "a href=â".this-url.(this-page+1)."â".this-img_btn[2]."/a ";
str.= "a href=â".this-url.this-total_pages."â".this-img_btn[3]."/a";
}
return str;
}
function show_num_text(){
str = " 转å°ç¬¬ input id=âgo_num_textâ type=âtextâ value=â".this-page."â style=âborder:0;border-bottom:1px solid #CCC;text-align:center;width:20px;â/ 页 ";
str.= "a href=â#â onClick=\"window.location=â".this-url."â+document.getElementById(âgo_num_textâ).value;\" style=âfont-family: Arial, Helvetica, sans-serif;font-weight:bold;font-size:14px;â[Go]/a";
return str;
}
function show_num_select(){
if (this-total_pages50){
str = "select οnchange=\"if(this.options[this.selectedIndex].value!=ââ){location=this.options[this.selectedIndex].value;}\"";
for (i=1; i=this-total_pages; i++){
str.= "option value=â".this-url.i."â ".(this-page==i ? " selected=âselectedâ":"")."".i."/option";
}
str.= "/select ";
}else{
str = "";
}
return str;
}
function show_num_btn(){
if (this-page=1 and this-page=this-total_pages){
tmp_p = (this-num_btn-1)/2;
if ((this-page - tmp_p)=0){
start_p = 1;
}else{
if ((this-page-tmp_p)this-num_btn and (this-page-tmp_p)(this-total_pages - this-num_btn+1)){
start_p = this-total_pages - this-num_btn + 1;
}else{
start_p = this-page - tmp_p;
}
}
if ((this-page+tmp_p) this-total_pages){
end_p = (this-page + tmp_p)this-num_btn?this-num_btn:(this-page + tmp_p);
if (end_pthis-total_pages){
end_p = this-total_pages;
}
}else{
end_p = this-total_pages;
}
}
str = "";
for (i=start_p; i=end_p; i++){
if (i==this-page){
str.= " strong".i."/strong ";
}else{
str.= " a href=â".this-url.i."â".i."/a ";
}
}
return str;
}
function show_page_info(){
str = " å ±".this-total_records."æ¡/".this-total_pages."页";
return str;
}
function show_page(){
if (this-total_records1){
this-set_show_page();
}
str = this-total_pages1 ? this-show_first_prv().this-show_num_btn().this-show_next_last().this-show_page_info().this-show_num_text():"";
return str;
}
//æ»é¡µæ°
function set_total_pages(){
this-total_pages = ceil(this-total_records/this-page_size);
}
//æ»è®°å½æ°
function set_total_records(){
if (this-total_records==0 or !isset(this-total_records)){
if (empty(this-count_sql) and !empty(this-table["tablename"])){
sql = "SELECT count(".this-table["id"].") as count_id FROM `".this-table["tablename"]."` ".(this-table["where"]!=""?" WHERE ".this-table["where"]:"");
}else{
sql = preg_replace("/SELECT(.*?)FROM(.*?)/i", "SELECT count(id) AS count_id FROM\\2", this-sql);
}
arr = this-db-row_query_one(sql);
this-total_records = arr["count_id"];
}
}
function get_rows_by_sql(sql){
this-sql = sql." LIMIT ".this-page_size*(this-page-1).", ".this-page_size; //æå®çSQL;
return this-db-row_query(this-sql);
}
function get_rows(tablename, where="", orderby=""){
this-table["tablename"] = tablename;
this-table["where"] = where;
orderby ? this-table["orderby"] = orderby : "";
arr = array(
"page" = this-show_page(), //å页代ç
"rows" = this-get_rows_by_sql(), //è®°å½æ°
"sum" = this-total_records, //æ»è®°å½æ°
);
return arr;
}
function get_rows_sql(sql_query, row_count=0) {
this-total_records = row_count;
arr["rows"] = this-get_rows_by_sql(sql_query);
arr["page"] = this-show_page();
arr["sum"] = this-total_records;
return arr;
}
function get_sql(){
if (this-total_records10000) {
this-sql = "SELECT ".this-table["fileds"]." FROM `".this-table["tablename"]."` ".(this-table["where"]!=""?" WHERE ".this-table["where"].â AND â.this-table["id"].â=â:â WHERE â.this-table["id"].â=â).â(SELECT â.this-table["id"].â FROM `â.this-table["tablename"].â` ORDER BY â.this-table["id"].â LIMIT â.this-page_size*(this-page-1).â, 1)â." ORDER BY ".this-table["orderby"]." ".this-table["descasc"]." LIMIT ".this-page_size;
}else{
this-sql = "SELECT ".this-table["fileds"]." FROM `".this-table["tablename"]."` ".(this-table["where"]!=""?" WHERE ".this-table["where"]:"")." ORDER BY ".this-table["orderby"]." ".this-table["descasc"]." LIMIT ".this-page_size*(this-page-1).", ".this-page_size;
}
//SELECT * FROM articles ORDER BY id DESC LIMIT 0, 20
//SELECT * FROM articles WHERE category_id = 123 AND id = (SELECT id FROM articles ORDER BY id LIMIT 10000, 1) LIMIT 10
return this-sql; //SQLè¯å¥
}
function set_url(){
arr_url = array();
parse_str(_SERVER["QUERY_STRING"], arr_url);
unset(arr_url["page"]);
if (empty(arr_url)){
str = "page=";
}else{
str = http_build_query(arr_url)."&page=";
}
this-url = "http://"._SERVER["HTTP_HOST"]._SERVER["PHP_SELF"]."?".str;
}
}
?
å¦ææ¨å äºæ°åè½ï¼æè æ¯ææ¹è¿ï¼è¯·ä¸å¤§å®¶ä¸èµ·å享ã
æµè¯ä»£ç å¦ä¸ï¼db.php 请å°è¿éä¸è½½ï¼
http://dwww.cn/news/2008-6/2008662043517349.shtml
?php
db_config["hostname"] = "127.0.0.1"; //æå¡å¨å°å
db_config["username"] = "root"; //æ°æ®åºç¨æ·å
db_config["password"] = "root"; //æ°æ®åºå¯ç
db_config["database"] = "wap_blueidea_com"; //æ°æ®åºå称
db_config["charset"] = "utf8";
config["charset"] = "utf-8"; //ç½ç«ç¼ç
include(âdb.phpâ);
include(âpagelist.phpâ);
db = new db();
db-connect(db_config);
header("content-type:text/html;charset=".config["charset"]);//设置页é¢ç¼ç
pl = new pagelist();
arr = pl-get_rows(âtable_nameâ);
unset(pl);
echo âpre style="text-align:left"â;
print_r(arr);
echo â/preâ;
//æå®ç¹æ® sql æ¶å
pl = new pagelist();
sql = âSELECT * FROM `wap_article` AS a, `wap_article_info` AS b WHERE a.id=b.articleidâ;
arr = pl-get_rows_sql(sql);
unset(pl);
echo âpre style="text-align:left"â;
print_r(arr);
echo â/preâ;
?