为了账号安全,请及时绑定邮箱和手机立即绑定

请问下PHP * 和 limit $offset 怎么理解,它的作用又是什么呢?

请问下PHP * 和 limit $offset 怎么理解,它的作用又是什么呢?

收到一只叮咚 2022-04-03 09:05:54
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,作用是什么
查看完整描述

3 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

试解答如下:
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语句的特性,有些数据库并不支持。

查看完整回答
反对 回复 2022-04-07
?
白板的微信

TA贡献1883条经验 获得超3个赞

这是用于分页,

如果有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条数据。



查看完整回答
反对 回复 2022-04-07
?
慕仙森

TA贡献1827条经验 获得超8个赞

$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关键字,你就明白了


查看完整回答
反对 回复 2022-04-07
  • 3 回答
  • 0 关注
  • 546 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号