有关thinkphp的volist换行问题

有关thinkphp的volist换行问题,第1张

你这样试试

<volist name="list" id="vo" key="k">

{$votitle}<br/>

<if condition="($k-1)%5==4 and $k!=$count">

//前面的5相当于你的mod里面的5,后面的4相当于你的value里面的4,$count是统计总条数(在方法中使用assign输出)

<br />

</if>

</volist>

下面这个方法也可以试试($count同上)

<volist name="list" id="vo" key="k" mod="5">

{$votitle}<br/>

<eq name="mod" value="4"><neq name="k" value="$count"><br /></neq></eq>

</volist>

<foreach name="list" item="vo">

{$void}

{$voname}

</foreach>

Foreach标签相对比volist标签简洁,没有volist标签那么多的功能。优势是可以对对象进行遍历输出,而volist标签通常是用于输出数组。

在模版定义如下,循环输出用户的编号和姓名:

<volist name="list" id="vo">

{$void}

{$voname}

</volist>

Volist标签的name属性表示模板赋值的变量名称,因此不可随意在模板文件中改变。id表示当前的循环变量,可以随意指定,但确保不要和name属性冲突,例如:

<volist name="list" id="data">

{$dataid}

{$dataname}

</volist>

支持输出部分数据,例如输出其中的第5~15条记录

<volist name="list" id="vo" offset="5" length='10'>

{$voname}

</volist>

输出偶数记录

<volist name="list" id="vo" mod="2" >

<eq name="mod" value="1">{$voname}</eq>

</volist>

Mod属性还用于控制一定记录的换行,例如:

<volist name="list" id="vo" mod="5" >

{$voname}

<eq name="mod" value="4"><br/></eq>

</volist>

输出循环变量

<volist name="list" id="vo" key="k" >

{$k}{$voname}

</volist>

如果没有指定key属性的话,默认使用循环变量i,例如:

<volist name="list" id="vo" >

{$i}{$voname}

</volist>

如果要输出数组的索引,可以直接使用key变量,和循环变量不同的是,这个key是由数据本身决定,而不是循环控制的,例如:

<volist name="list" id="vo" >

{$key}{$voname}

</volist>

volist还有一个别名iterate,用法和volist是一样。

我是菜鸟,这是我能想到的办法

<volist name="list" id="vo">

<php

$num[$key] = date('y-m-d',$vo['create_time']);

>

<p style="display:none">

{$vocreate_time|date="Y-m-d",###}&nbsp;&nbsp;&nbsp;</p>

<if condition="$key eq 0">

{$vocreate_time|date="Y-m-d",###}

<else/>

<if condition=" date('y-m-d',$vo['create_time']) eq $num[$key-1] ">

<else/>

<br>{$vocreate_time|date="Y-m-d",###}

</if>

</if>

我是内容区

</volist>

方法一:修改CSS样式,把此列表的li换成div的标签,并设置成向左浮动,这样会在外层的div宽度不够放下下一个li的时候,会自动换行

方法二:在后台处理成5个一组,5个一组的数组

比如:$arr = array(1,2,3,4,5,6,7,8,9,0);//现在是这种情况类似于图书那种

处理成:$arr = array(

0=>array(1,2,3,4,5),

1=>array(6,7,8,9,0)

);

这种格式的;

修改方法:

$data = array();

$i = $j = 0;

每个查询都有三种视图其中用来显示查询结果的视图是模板视图。

volist使用:fetch()数据绑定到模板,数据传递(模拟数据)user是循环变量。

1、volist:{volist name='模板变量' id='临时变量' offset=索引' length='数量' key='循环变量’empty= 提示信息'}。

2、foreach: {foreach name= '模板变量' item='临时变量'}。

3、for:{for start='开始值' end='结束值' comparison='比较关系It' step='步进值1' name= '循环变量名i"}全部是闭合标签,结尾要加:{/标签名}。

扩展资料

key不设置默认是$key从0开始,设置为k从一开始;offset开始索引,使用时应将key=""删除;length:输出数据的长度;empty表示没有数据输出内容。

1、比较标签仅用于模板变量与普通值之间的简单比较,它包括一组标签, 用法基本- -致:

2、语法:{比较标签name="变量" value="值"}内容{else/} //可选内容{吡较标签}

3、支持的关系包括:eq等于,neq不等于,gt大于, egt大于等于,It小于, elt小于等于,heq恒等于,nheq不恒等于。

在使用ThinkPHP的volist标签时,单重循环是比较常用的,但有时候需要用到多重嵌套循环。

方法步骤:

Action代码:

public function index(){

$prod = I("getprod_en");

$id = I("getid", 0, "int");

if ($prod == ""){

$serviceProduct = array();//多重循环遍历的数组

//数据保存在两张表中,这里通过循环初始化$serviceProduct数组

$service = M("product_class")->order("oid ASC")->select();

for ($i = 0; $i < count($service); $i++)

{

array_push($serviceProduct, array("srvName"=>$service[$i]["pc_cn"], "product"=>M("product")->where("prod_class_id="$service[$i]["pcid"])->order("oid ASC")->select()));

}

//如果要在模板中输出变量,必须在在控制器中把变量传递给模板,系统提供了assign方法对模板变量赋

值,无论何种变量类型都统一使用assign赋值。

$this->assign("serviceProduct", $serviceProduct);

$this->display();

}else{

if ($id > 0){

$this->display("detail");

}else{

$this->assign('prod_en', $prod);

$clsList = M("question_class")->order("oid ASC")->select();

$this->assign('clsList', $clsList);

$qusList = M("question")->order("oid ASC")->select();

$this->assign('qusList', $qusList);

$this->display("list");

}

}

模板代码:

<volist name="serviceProduct" id="sp" key="i">

<dl class="dlist odd">

<dt>{$spsrvName}</dt>

<volist name="spproduct" id="pd" key="j">

<dd><a href="/indexphp/questionprod_en={$pdprod_en}">{$pdprod_cn}</a></dd>

<if condition="$j lt count($sp['product'])">

<dd>|</dd>

</if>

</volist>

<if condition="count($sp['product']) EQ 0">

<dd>&nbsp;</dd>

</if>

</dl>

</volist>

当使用多重嵌套循环时,需要为每一个volist指定key值,通过

<if condition="$j lt count($sp['product'])">

判断是否为数组中的最后一个元素。

$this->assign('banner_list',$banner_list);

/ 线下活动/

$hot_line=M('deal')

->field('id,name,image,brief')

->order('id desc')

->where('is_effect=1 and user_id=371')

->limit(9)

->select();

$this->assign('hot_line',$hot_line);

html页面的代码:

<div class="pic-scroll">

<h1>线下活动——面对面直接谈</h1>

<div class="row">

<div class="span12">

<div id="owl-demo" class="owl-carousel">

<volist name='hot_line' id='vo'>

<a href="/indexphp/project/detailid={$void}">

<div class="item">

<div class="title">

<h2>{$voname}</h2>

<p>{$vobrief}</p>

</div>

<img src="{$voimage}" />

</div>

</a>

</volist>

</div>

</div>

</div>

</div>

就是name是你那个assign后面的变量名。id=什么随便写,但是循环里面就要用到如id=vo,则循环里面要这样{$voname}

以上就是关于有关thinkphp的volist换行问题全部的内容,包括:有关thinkphp的volist换行问题、foreach 跟volist 有什么区别 最好来个例子!~~谢谢、php输出合并时间的问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9812257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存