欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

分页中的首页和尾页如何添加

程序员文章站 2022-05-15 17:18:50
...
下面这个分页函数中没有计算 首页和 尾页的
如何加上呢,有点迷茫!
/** * 分页函数 * * @param $num 信息总数 * @param $curr_page 当前分页 * @param $perpage 每页显示数 * @param $urlrule URL规则 * @param $array 需要传递的数组,用于增加额外的方法 * @return 分页 */function pages($num, $curr_page, $perpage = 20, $urlrule = '', $array = array(),$setpages = 10) {	if(defined('URLRULE') && $urlrule == '') {		$urlrule = URLRULE;		$array = $GLOBALS['URL_ARRAY'];	} elseif($urlrule == '') {		$urlrule = url_par('page={$page}');	}	$multipage = '';	if($num > $perpage) {		$page = $setpages+1;		$offset = ceil($setpages/2-1);		$pages = ceil($num / $perpage);		if (defined('IN_ADMIN') && !defined('PAGES')) define('PAGES', $pages);		$from = $curr_page - $offset;		$to = $curr_page + $offset;		$more = 0;		if($page >= $pages) {			$from = 2;			$to = $pages-1;		} else {			if($from = $pages) {				$from = $pages-($page-2);				$to = $pages-1;			}			$more = 1;		}		$multipage .= ''.$num.L('page_item').'';		if($curr_page>0) {			$multipage .= ' '.L('previous').'';//上一页功能			if($curr_page==1) {				$multipage .= ' 1';			} elseif($curr_page>6 && $more) {				$multipage .= ' 1..';			} else {				$multipage .= ' 1';			}		}		for($i = $from; $i '.$i.'';			} else {				$multipage .= ' '.$i.'';			}		}		if($curr_page'.$pages.' '.L('next').'';//下一页功能			} else {				$multipage .= ' '.$pages.' '.L('next').'';			}		} elseif($curr_page==$pages) {			$multipage .= ' '.$pages.' '.L('next').'';		} else {			$multipage .= ' '.$pages.' '.L('next').'';		}	}	return $multipage;}


回复讨论(解决方案)

首页和尾页还需要计算么,1就是首页,$pages就是尾页

首页和尾页还需要计算么,1就是首页,$pages就是尾页


可能我表达有误
主要是首页不会表示,比如,循环出很多页面码,那么这个第一肯定是用数组表示
针对此例,我不知如何用数组表示第一个页码

当然了,这里不仅仅是显示什么页的问题,还要有链接的,所以要计算啊

这里不是写了吗?

if($curr_page==1) {elseif($curr_page==$pages) {



顺便贴贴我的分页组件中的创造页码部分,请指教下
		function createPage(par){			var _page={};//存放运行中的页面信息			_page.extendpage=par.extendpage?par.extendpage:opt.extendpage;			_page.totalpage=par.totalpage;			//编制分页			var expbase=4;			_page.page=parseInt(par.page);	//用于解决js弱类型转换失败的问题			if(isNaN(_page.page) || isNaN(_page.totalpage)){				return;//分页错误,不进行操作			}			opt.renderTo.empty();			opt.renderTo.append('当前页码:'+par.page+' ');				//从头插入 create from begin			_page.pagenow=1;//初始化分页跟踪。			if(_page.page>=_page.extendpage-1){				_page.pagenow=1;				_createPage(_page,opt);			}				//插入中间的分页,即在之前的分页和当前的分页之间插入一些中间的分页			_page.start=_page.pagenow+1;			_page.end=_page.page-_page.extendpage-1;		//		//中间有空余位置,可以插入数据,使用随机或者什么其他的方式来插入中间页			var tarr=[];			for(var exppow=1;_page.start<_page.end-_mathexp _page.pagenow="_page.end-_mathexp(expbase,exppow);" tarr.push var tl="tarr.length;" for i="0;i<tl;i++){" _createpage left side extend if insert page now _page.isnow="true;" create right tstart="_page.pagenow;" _page.start="_page.pagenow;//修复这个重点错误redlz2500@20140115" exppow="1;_page.start+_mathexp(expbase,exppow)<_page.totalpage;exppow++){" last>

首页和尾页是固定的,你直接在$multipage的前面加首页,后面加尾页就行了