thinkphp循环输出怎么写

guzhuangai 2012-10-11 10:34:49
用sql查询数据结果为
year mon
2012 12
2012 10
2011 12
2010 5

如何让他循环输出结果为:
<ul>
<li>
<a>2012</a>
<ul>
<li>
<a>12</a>
</li>
<li>
<a>10</a>
</li>
</ul>
<li>
<li>
<a>2011</a>
<ul>
<li>
<a >12</a>
</li>
<li>
<a >6</a>
</li>
</ul>
<li>
..........
</ul>
代码怎么写
...全文
219 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2012-10-12
  • 打赏
  • 举报
回复
volist 标记可以嵌套
你把数据组织成多维的就是了
guzhuangai 2012-10-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

一般的话,是使用ThinkPHP的模版引擎来生成会比较简单,首先你需要在后台将变量赋给模版
按照你的结构给个例子吧
PHP code

// 组建示例数据
$arr = array(array('year' => '2012', 'mon' => '10', 'day' => '8'),
array('year' => '2012', 'mon' => '10', 'day' =……
[/Quote]
这个方法我知道的,我是不知道我求助那个问题是怎么弄,方式应该不一样
andydream0 2012-10-12
  • 打赏
  • 举报
回复
一般的话,是使用ThinkPHP的模版引擎来生成会比较简单,首先你需要在后台将变量赋给模版
按照你的结构给个例子吧

// 组建示例数据
$arr = array(array('year' => '2012', 'mon' => '10', 'day' => '8'),
array('year' => '2012', 'mon' => '10', 'day' => '9'),
array('year' => '2012', 'mon' => '10', 'day' => '10'));
// 将$arr数组赋予模版的Data变量
$this->assign('Date', $arr);

以上就完成了后端给模版赋值的操作
下面是模版中通过模版引擎以及ThinkPHP提供的标签输出

<!-- 这里的name是用来获取你赋值的变量,id是volist循环内部输出变量用的,可以随便起 -->
<volist name="Date" id="vo">
<ul>
<li><a>{$vo.Year}</a></li>
<li><a>{$vo.mon}</a></li>
<li><a>{$vo.day}</a></li>
</ul>
</volist>


这样就可以按照这个格式输出了
希望对你有用
建议你先大体看一遍ThinkPHP的手册
andydream0 2012-10-12
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:

一般的话,是使用ThinkPHP的模版引擎来生成会比较简单,首先你需要在后台将变量赋给模版
按照你的结构给个例子吧
PHP code

// 组建示例数据
$arr = array(array('year' => '2012', 'mon' => '10', 'day' => '8'),
array('year' => '2012', 'mon' =>……
[/Quote]

没明白你的意思
你的意思是不是假如year = '2012'的时候,有 mon = '12','10'这种情况,就把他输出在year = '2012' 的子节点下?
如果是这样的话,就像三楼版主说的,你可以在后台通过循环遍历,将year相同的项合并,作为多维数组。
然后赋值给模版。
模版使用标签嵌套就可以了

<volist name='Date' id='vo'>
<ul>
<li><a>{$vo.year}</a>
<ul>
<volist name='vo.mons' id='v'>
<li><a>{$v.mon}</a></li>
</volist>
</ul>
</li>
</ul>
</volist>

如果有日的话,也是这样。
不知道你的意思是不是这样。

要注意的是,如果是这样的话,ThinkPHP默认设定的标签嵌套是最多三层,要是超过三层需要设置。具体方法手册中有

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧