thinkphp 在模板上循环数组 我已求出数组长度 怎么判断是循环的最后一次

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了thinkphp 在模板上循环数组 我已求出数组长度 怎么判断是循环的最后一次相关的知识,希望对你有一定的参考价值。

<volist name="list" id="vo" key="k">
</volist>
数组长度是 在控制器传来的 $this ->assign('list_count',count );
请大神赐教 怎么判断是循环的最后一次 俺是菜鸟 求代码 在模板上循环

你确定你要去的是总页码?用Thinkphp自带的分页类 页面显示应该是$page,默认显示的是N条记录数、上一页、下一页、第一页、最后一页,要显示总页数配置一下page.class.php中的$config项

追问

对 怎么配置啊 俺是菜鸟 求源码

追答直接加一个'totalPages'=>'总页数'就好了,具体实例:
protected $config  = array('totalPages'=>'总页数','header'=>'条记录','prev'=>'上一页','next'=>'下一页','first'=>'第一页','last'=>'最后一页','theme'=>' %totalRow% %header% %nowPage%/%totalPage% 页 %upPage% %downPage% %first%  %prePage%  %linkPage%  %nextPage% %end%');
然后页面$page就可以看见总页数

参考技术A 不是这样写就行了吗??
<if condition="$k eq $list_count"></if>追问

我是这样写的 不出来 我就郁闷了 后来发现时我做分页了 没点下一页 下标从心开始

我用的是thinkphp 自带的类 如何取出那个总页码吗 还是自己算吧

追答

做取分页记录里传我个参数进去就行了,传个SQL_CALC_FOUND_ROWS 进SQL语句里面就可以用下面的语句取到总记录数了 “SELECT FOUND_ROWS() AS totalNum”

参考技术B 控制器能直接传那个数组过来吗?

ThinkPHP模板循环输出Volist标签用法实例详解

参考技术A 本文实例讲述了ThinkPHP模板循环输出Volist标签用法。分享给大家供大家参考,具体如下:
volist
标签用于在模板中循环输出数据集或者多维数组。
volist
标签
在模块操作中,select()
方法返回的是一个二维数组,可以用
volist
直接输出:
<volist
name="list"
id="vo">


名:$vo['username']<br
/>
电子邮件:$vo['email']<br
/>
注册时间:$vo['regdate']|date="Y-m-d
H:i",###
</volist>
如果想输出多维数组,请参看《ThinkPHP模板Volist标签嵌套循环输出多维数组的方法》
注意:name的属性值
list
(name="list")不可随意改变,需要与操作中的模板赋值指令对应:
$this->assign(
"list",
$list
);
id
表示循环变量,可以随意指定,但不得与
name
属性冲突。
输出部分数据
如果要输出结果集中的部分数据,需要指定
offset(数据指针)

length(数据数据条数)
属性。
输出第
5~14
条记录:
<volist
name="list"
id="vo"
offset="5"
length='10'>


名:$vo['username']<br
/>
电子邮件:$vo['email']<br
/>
注册时间:$vo['regdate']|date="Y-m-d
H:i",###
<hr
/>
</volist>
输出奇/偶数记录
volist
中的
mod
参数相当于指定一个频率,系统会将当前的实际记录对
mod
参数值求余(PHP中的%运算符)运算。而配合判断标签(如eq标签),就可以按照频率控制输出的数据或数据显示的格式。
例子1,输出偶数记录:
<volist
name="list"
id="vo"
mod="2">
<eq
name="mod"
value="0">


名:$vo['username']<br
/>
电子邮件:$vo['email']<br
/>
注册时间:$vo['regdate']|date="Y-m-d
H:i",###
<hr
/>
</eq>
</volist>
例子2,输出所有记录,但让表格隔行显示不同的背景颜色的例子:
<table>
<volist
name="list"
id="vo"
mod="2">
<tr<eq
name="mod"
value="0">
style="background-color:#FFF;"</eq>>
<td>我是单元格内容</td>
<td>我也是单元格内容</td>
</tr>
</volist>
</table>
提示:实际使用中可以灵活设定
mod
参数的值,而不仅仅限于奇偶。
输出循环变量
指定
key
属性用于输出循环的变量次数(注意不是数据表主键
id):
<volist
name="list"
id="vo"
key="k">

号:$k<br
/>


名:$vo['username']<br
/>
电子邮件:$vo['email']<br
/>
注册时间:$vo['regdate']|date="Y-m-d
H:i",###
<hr
/>
</volist>
输出数组索引
直接使用
$key
变量用于输出数组索引:
<volist
name="list"
id="vo">
数组key:$key<br
/>


名:$vo['username']<br
/>
电子邮件:$vo['email']<br
/>
注册时间:$vo['regdate']|date="Y-m-d
H:i",###
<hr
/>
</volist>
提示
与输出循环变量不同的是,这个
key
值取决于数据本身,而不是
volist
循环输出决定的。
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

以上是关于thinkphp 在模板上循环数组 我已求出数组长度 怎么判断是循环的最后一次的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP模板循环输出Volist标签用法实例详解

thinkphp3.2.3在模板中调用方法

thinkphp怎么输出数组

ThinkPHP_5模板循环标签

thinkphp 如何想模板的JS代码中传递数组?

thinkphp模板页面循环输出次数问题