ProductManage 商品管理类:
<?php
namespace User\Controller;
use Red\Product\ProductManage;
class FavoriteController extends AuthController {
public function index($page=1){
$limit=1;
$list = ProductManage::getInstance()->getCollectList($page,$limit);
$showpage = create_pager_html($list['total'],$page,$limit);
$this->assign(get_defined_vars());
$this->display();
}
public function cancelCollect(){
$ids = field('ids');
$return = ProductManage::getInstance()->cancelProductCollect($ids);
exit(json_encode($return));
}
}
functions.php 分页函数:
<?php
/**
* 分页
* @param $total 总条数
* @param $page 第几页
* @param $perpage 每页条数
* @param $url 链接地址
* @param $maxpage 最大页码
* @return string 最多页数
*/
function create_pager_html($total, $page = 1, $perpage = 20, $url = '', $maxpage = null) {
$totalcount = $total;
if (empty($url) || !is_string($url)) {
$url = array();
foreach ($_GET as $k => $v) {
if ($k != 'page') {
$url[] = urlencode($k) . '=' . urlencode($v);
}
}
$url[] = 'page={page}';
$url = '?' . implode('&', $url);
}
if ($total <= $perpage)
return '';
$total = ceil($total / $perpage);
$pagecount = $total;
$total = ($maxpage && $total > $maxpage) ? $maxpage : $total;
$page = intval($page);
if ($page < 1 || $page > $total)
$page = 1;
$pages = '<div class="pages"><a href="' . str_replace('{page}', $page - 1 <= 0 ? 1 : $page - 1, $url) . '" rel="external nofollow" title="上一页" class="page_start">上一页</a>';
if ($page > 4 && $page <= $total - 4) {
$mini = $page - 3;
$maxi = $page + 2;
} elseif ($page <= 4) {
$mini = 2;
$maxi = $total - 2 < 7 ? $total - 2 : 7;
} elseif ($page > $total - 4) {
$mini = $total - 7 < 3 ? 2 : $total - 7;
$maxi = $total - 2;
}
for ($i = 1; $i <= $total; $i++) {
if ($i != $page) {
$pages .= '<a class="page-num" href="' . str_replace('{page}', $i, $url) . '" rel="external nofollow" >' . $i . '</a>';
} else {
$pages .= '<span class="page_cur">' . $i . '</span>';
}
if ($maxi && $i >= $maxi) {
$i = $total - 2;
$maxi = 0;
}
if (($i == 2 or $total - 2 == $i) && $total > 10) {
$pages .= '';
}
if ($mini && $i >= 2) {
$i = $mini;
$mini = 0;
}
}
$pages .= '<a href="' . str_replace('{page}', $page + 1 >= $total ? $total : $page + 1, $url) . '" rel="external nofollow" title="下一页" class="page_next">下一页</a><span class="pageOp"><span class="sum">共' . $totalcount .
'条 </span><input type="text" class="pages_inp" id="pageno" value="' . $page . '" onkeydown="if(event.keyCode==13 && this.value) {window.location.href=\'' . $url . '\'.replace(/\{page\}/, this.value);return false;}"><span class="page-sum">/ ' .
$total . '页 </span><input type="button" class="pages_btn" value="GO" onclick="if(document.getElementById(\'pageno\').value>0)window.location.href=\'' . $url . '\'.replace(/\{page\}/, document.getElementById(\'pageno\').value);"></span></div>';
return $pages;
}
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
PbootCMS分页条效果之数字条效果数字条自带a链接标签代码和选中效果标签 数字带class名称为 page-num ,当前页自带 page-num-current 样式 !-- 分页 --{pboot
PBootcms分页条标签怎么调用适用范围:分页条标签适用所有执行了分页的页面 标签作用:用于输出分页代码 来源:html5模板网 html5code.net 1、分页
ThinkPHP整合datatables实现服务端分页的示例代码下面小编就为大家分享一篇ThinkPHP整合datatables实现服务端分页的示例代码,具有很好的参考价值,希望对大家有所帮
thinkphp3.2.0 setInc方法 源码全面解析下面小编就为大家分享一篇thinkphp3.2.0 setInc方法 源码全面解析,具有很好的参考价值,希望对大家有所帮助。一起跟
tp5(thinkPHP5)操作mongoDB数据库的方法这篇文章主要介绍了tp5(thinkPHP5)操作mongoDB数据库的方法,结合实例形式简单分析了mongoDB数据库及thinkPHP5连接、查询Mo
在云虚拟主机部署thinkphp5项目的步骤详解thinkphp官网在去年的时候发布了tp的颠覆版本thinkphp5,tp5确实比之前的版本好用了很多,那么下面这篇文章就来给大家