• think php volist 使用function.php


    通常volist标签多用于查询数据集(select方法)的结果输出,通常模型的select方法返回的结果是一个二维数组,对此可以直接使用volist标签进行输出。

    在控制器中首先对模版赋值,如下例所示:

    1
    2
    3
    $User = M('User');
    $list = $User->limit(10)->select();
    $this->assign('list',$list);

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

    1
    2
    3
    <volist name="list" id="vo">
    {$vo.id}:{$vo.name}<br/>
    </volist>

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

    1
    2
    3
    <volist name="list" id="data">
    {$data.id}:{$data.name}<br/>
    </volist>

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

    1
    2
    3
    <volist name="list" id="vo" offset="5" length='10'>
    {$vo.name}
    </volist>

    输出偶数记录:

    1
    2
    3
    4
    5
    <volist name="list" id="vo" mod="2" >
    <eq name="mod" value="1">
    {$vo.name}
    </eq>
    </volist>

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

    1
    2
    3
    4
    <volist name="list" id="vo" mod="5" >
    {$vo.name}
    <eq name="mod" value="4"><br/></eq>
    </volist>

    为空的时候输出提示:

    1
    2
    3
    <volist name="list" id="vo" empty="暂时没有数据" >
    {$vo.id}|{$vo.name}
    </volist>

    empty属性不支持直接传入html语法,但可以支持变量输出,例如:

    1
    2
    $this->assign('empty','<span class="empty">没有数据</span>');
    $this->assign('list',$list);

    然后在模板中使用:

    1
    2
    3
    <volist name="list" id="vo" empty="$empty" >
    {$vo.id}|{$vo.name}
    </volist>

    输出循环变量:

    1
    2
    3
    <volist name="list" id="vo" key="k" >
    {$k}.{$vo.name}
    </volist>

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

    1
    2
    3
    <volist name="list" id="vo" >
    {$i}.{$vo.name}
    </volist>

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

    1
    2
    3
    <volist name="list" id="vo" >
    {$key}.{$vo.name}
    </volist>

    模板中可以直接使用函数设定数据集,而不需要在控制器中给模板变量赋值传入数据集变量,如:

    1
    2
    3
    <volist name=":fun('arg')" id="vo">
    {$vo.name}
    </volist>

    具体案例:

    在function.php中有下面查询:

    function getProgramList($programid){
    	if(!empty($programid)){
    		$program=M('program')->where('programid='.$programid)->select();
    		return $program;
    	}
    }
    

     在view中的代码:

    	<volist name=":getProgramList($vo['id'])" id="pvo">
       		<tr>
       				<td>{$pvo['programone']}</td>
       				<td>{$pvo['programtwo']}</td>
       				<td>{$pvo['programthree']}</td>
       				<td>{$pvo['programfour']}</td>
       				
       				<td>
    

      

  • 相关阅读:
    脚手架 vue-cli
    vue文件添加编译
    客户合法性校验(密文hamc方法)
    socket的其他方法
    socket实现目录路径的相关操作
    socket实现OS的切换目录
    socket大文件传输(解决粘包)
    socket中的粘包理解
    socket实现在python中调用操作系统的命令(subprocess)
    socket实现文件的上传
  • 原文地址:https://www.cnblogs.com/panqingqiang/p/4343701.html
Copyright © 2020-2023  润新知