搜尋
首頁php教程php手册再出江湖,Jpage分页php版发布

作者:靳英辉(昨夜风) 版本:Jpage v2.0 for php 发表:2008-12-02 ______________________________________________________________ 在先后推出针对Java、.Net2.0开发语言下的Jpage两版分页之后,随着一搏IT社区、abcbaby、加拿房产网、中国开源网的开发需

作者:靳英辉(昨夜风)
版本:Jpage v2.0 for php
发表:2008-12-02

______________________________________________________________


在先后推出针对Java、.Net2.0开发语言下的Jpage两版分页之后,随着一搏IT社区、abcbaby、加拿房产网、中国开源网的开发需求,以及新东方一搏PHP01班的盛大起航,对php下的Jpage分页需求,提上日程。

版本历史:
2007年10月,Jpage分页php版诞生,初步应用于几个项目中。
2007年11月,我和PHP01的学生们,一起对Jpage第一版进行了全面的测试和完善。
2008年12月,Jpage 2.0 php的诞生。

Jpage v2.0 for php

特点:
1、通用的数据封装。
只需包含mysql.php,解决所有增、删、改、查的问题。执行SQL语句、执行过程、返回数组结果、返架一行结果、返回一行一列,尽在其中。
对数据持装类,吸纳了微软的.NET数据层的思想,结合了实际开发需求,将大大提高开发效率。

2、只需一条查询语句。
使用简单、开发快捷、最优查询一直是Jpage系列分页的核心思想。只需一条语句,即支持普通查询、海量查询,并同时得到多种分页样式, 这就是Jpage分页。

3、优化小量查询和海量查询。
经Mysql5 260万条数据测试,Jpage分页执行飞快。明显优于网上其它分页以及基于PHP程序层结果集的分页。在Mysql中,Jpage分页采用了limit来分页,这延续了Jpage分页“需多少,取多少”基于数据库层面的分页思想。

4、内置三种页脚风格。
为了解决不同的显示需求,Jpage分页内置了三种页脚显示风格:
默认样式:适合一般企业需求。
简捷样式:适合窄页面显示需求。
数据样式:适合海量数据显示需求。
除了上述三种风格之外,开发者还可在footPage.php中自定义风格。


5、灵活的页脚样式控制。
你可以定义诸如:#page a{color:red}样式表文件,来得到不同显示效果。

6、与Jwork框架无缝集成。
作为Jwork框架的前身,Jpage分页,它不是一个在战斗。Jwork框架是软件开发的经验集、通用集、效率集。


对比:

一般分页/自定分页存在的问题:

1、网址传参的问题。
网上有些分页,包括我们自己写的分页,往往忽略了网址传参的问题。我们知道,分页的网址一般为:
list.php  list.php?page=2,

但当网址有参数时,
list.php?name=yiboit&id=20
一般分页则为:list.php?page=2
Jpage分页为:list.php?name=yibit&id=20&page=2

2、书写复杂、代码冗余、和数据层独立。
一般的分页,和数据层独立,并且和视图(页面)过于耦合,在使用上、开发上、运行效率上都是值得商榷的。
Jpage分页,已先后发布Java、.Net、PHP三版,基于同一思想,经过百万级项目测试、压力测试,尚未出现任何问题。
Jpage分页,把分页作为数据层一个功能,把显示层(分页样式)以配置文件独立出来,站在“松散耦合”的高度,让开发如此便捷。

3、基于结果集的分页或基于存储过程。
分页主要有两种方案,一种是基于结果集的指针,一种是基于数据端TOP N的思想。

基于结果集指针的方案,不管你每页看多少数据,我都把数据取出来,然后用指针控制显示哪部分。这种方案,不适合大量/海量数据的查询。
另一方案,就是TOP N的思想,即“需多少,取多少”,这种方案支持海量查询,但一般需要写两条sql语句,且写法复杂,所以有些程序员,用存储过程来实现了,在网上可以看到许多基于过程的海量分页解决方案。因为书写复杂,让许多程序员,特别是ASP程序员,放弃了。

可见,“需多少,取多少”的分页,方为上道。业界知名Hibernate数据层框架,采用的就是TOP N的分页,但Hibernate未能显示页脚,也未能整合分页语句,所以留下了分页“遗憾”,也许也不是“遗憾”,因为Hibernate旨在解决对象的持久化问题,而不是分页问题。

Jpage分页弥补以上所有不足,支持普通查询、海量查询,同时使用简单。Jpage分页的方便程度,对开发者而言,已达到了实现分页,和不实现的写法是一样的。

4、简单实现,未能优化。

Jpage分页,已走过了一年的历程,在数据查询上,已达到了对数据查询最为优化的状态;在代码结构上,先后做了多次调整的设计;在项目使用上,先后被csdn、yiboit、zuoyefeng等网站的朋友,大量被下载使用。

示例:


include("../jwork/mysql.php");

//SQL查询语句
$sqllist="select * from news";

//得到Jwork数据对象
$data= new MysqlDao();

//设置分样样式,默认为default
$data->style="data";

//分页查询,返回二维数组
$list=$data->jpage($sqllist);

?>


 
   
          
     
   
   
    while (list($rowid,$row)=each($list))
    {
      
      
      $rid=$data->jpageRowId($rowid); //序号
      $news_title=$row["news_title"];
      $news_time=$row["news_time"];
      
    echo        
     
     
     
   
EOF;
     }
?>
序号新闻名称
$rid $news_name $news_time



foot ?>

敬请关注:
2008年1月1日,Jpage分页三个版本,将全面开源!
届时,Jpage分页,将作为ccopen.net中国源码开放社区第一个开源项目出现。

Jpage,做好分页,做好自己!
欲求源码,留下大名和邮箱!

 
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器