PHP * 和 limit $offset 怎么理解 作用

class SepPage{
var $rs;
var $pagesize;
var $nowpage;
var $array;
var $conn;
var $sqlstr;
function ShowData($sqlstr,$conn,$pagesize,$nowpage){
if(!isset($nowpage) || $nowpage=="")
$this->nowpage=1;
else
$this->nowpage=$nowpage;
$this->pagesize=$pagesize;
$this->conn=$conn;
$this->sqlstr=$sqlstr;
$offset=($this->nowpage-1)*$this->pagesize; 这句什么意思怎么解释 *作用什么
$sql=$this->sqlstr." limit $offset, $this->pagesize"; 这句什么意思解释 limit $offset,作用是什么

试解答如下:

1. 从代码看,这段代码功能应该是将数据记录进行分页

2. $offset = ($this->nowpage - 1) * $this->pagesize;
//这句代码的作用是计算数据的位置,也就是根据当前所在的页数 乘以 每页显示的记录条数 得到已经显示的记录条数

3. $sql = $this->sqlstr . " limit $offset, $this->pagesize"; // 这句什么意思解释 limit $offset,作用是什么
//这句代码是根据计算结果,组合SQL语句,从而得到需要的数据库记录结果
//limit是完成分页功能比较关键的SQL语句,其作用是限制返回记录集的数量
//假设组合成的SQL语句如下:
Select * from XXX limit 10,30
那么其意义是返回数据库中,从第10条开始,后面的连续30条记录。

提示一点,limit 是MySQL语句的特性,有些数据库并不支持。追问

加好友 不会好问你

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-29

这是用于分页,

如果有100条数据, 每页显示20条, 第一页读的数据就是从第1条到第20条, 也就是limit 0, 20。 那么这里的$offset = 0, $this->pagesize = 20。 $this->nowpage 就是当前页。

当第2页的时候, 那读取的数据就是从第21条到第40条。就是limit 20, 20。

$this->nowpage = 2, $this->pagesize = 20.

那么$offset = ($this->page - 2)*$this->pagesize 就相当于 (2-1)*20 = 20。*的意思就是乘法。

$sql=$this->sqlstr." limit $offset, $this->pagesize"; 意思就是从第几($offset+1)条数据开始,读取$this->pagesize条数据。


第2个回答  2013-08-29
$offset=($this->nowpage-1)*$this->pagesize; 这句什么意思怎么解释 *作用是乘号,也就是运算符号
$sql=$this->sqlstr." limit $offset, $this->pagesize"; 这句什么意思解释 limit $offset,作用设置sql语句的起始行,一般用于php中的分页显示

你这里是2个变量,假设我们直接代入数字
limit 0, 5表示从第0行还是返回,返回5行
limit 10,30表示从第10行开始返回,返回30行
具体,你可以百度一下 相对与mysql数据库的sql语句中的 limit关键字,你就明白了
http://www.daydaydata.com/help/sql/advance/limit.html

PHP * 和 limit $offset 怎么理解 作用
\/\/这句代码的作用是计算数据的位置,也就是根据当前所在的页数 乘以 每页显示的记录条数 得到已经显示的记录条数 3. $sql = $this->sqlstr . " limit $offset, $this->pagesize"; \/\/ 这句什么意思解释 limit $offset,作用是什么 \/\/这句代码是根据计算结果,组合SQL语句,从而得到需要...

php的limit问题
语法:limit 从第几条开始, 返回多少条 第一页的时候。显示的是 0-1 条,从第0条开始,返回 2 条。……第五页的时候。显示的是 8-9 条,从第8条开始,返回 2 条。要的就是等于 8

PHP+MySQL高效的分页方法,如何优化LIMIT,OFFSET进行的分页?
回答:其实我没有看懂你想说什么

php分页代码 怎么写
这里的offset是记录偏移量,它的计算方法是offset=$pagesize*($page-1),rows是要显示的记录条数,这里就是$page。也就是说select * from table limit 10,10这条语句的意思是取出表里从第11条记录开始的20条记录。二、主要代码解析 pagesize=10; \/\/设置每一页显示的记录数 conn=mysql_connect("...

PHP显示很多数据库信息,如何自动分页呢?代码
offset=($page-1)*$num; \/\/获取limit的第一个参数的值,假如第一页则为(1-1)*10=0,第二页为(2-1)*10=10。info=mysql_query("select name from table limit $offset,$num"); \/\/获取相应页数所需要显示的数据,name是数据里的一个字段 While($it=mysql_fetch_array($info)){ Echo $...

thinkphp我按照条件查询了100条数据,然后我现在想只显示这100条按条件...
limit(offset,length)查询从offset开始的一共length条,limit(10)其实是limit(0,10),即从0开始共10条数据

PHP+MySQL高效的分页方法,如何优化LIMIT,OFFSET进行的分页?
LIMIT $perpage * $buttons )C WHERE cnt = 0;通过上面的语句可以为每一个分页的按钮计算出一个offset对应的id。这种方法还有一个好处。假设,网站上正在发布一片新的文章,那么所有文章的位置都会往后移一位,所以如果用户在发布文章时换页,那么他会看见一篇文章两次。如果固定了每个按钮的offset Id,...

用php怎么实现页面的分页功能呢?用原生的php写,不是基于图片开发的,求...
即默认在哪一页 $offset=($cpage-1)*$num; \/\/limit 第一个参数值 从第几个开始。 $limit='LIMIT '.$offset.','.$num; $path=$_SERVER['SCRIPT_NAME'].'?'; \/\/ 获取当前URL路径 \/\/显示信息 $str='共 '.$total.''.$name....

PHP怎样截取文本并分页?
limit子句用来限制select语句返回的行数。limit中第一个参数指定要返回的第一行的偏移量offset,第二个参数指定返回行的最大数目pagesize。 ~]~x@}FyBT]TGmgF:HN]2Ml0J 实现原理:WEB前端设计,关注WEB前端设计与开发,网站前台视觉呈现��在程序中传递一页数变量page,在取记录时根据...

在Yii2.0 中怎么使用 sphinx 搜索
\/\/$sortby的值如"HITS desc"cl->SetSortMode(SPH_SORT_EXTENDED, $sortby);\/\/set count-distinct attribute for group-by queries,$distinct为字符串 cl->SetGroupDistinct ( $distinct );\/\/相当于mysql的limit $offset,$limit cl->SetLimits($start,$limit)\/\/$q是查询的关键字,$index是索引...

相似回答