输出20条数据,每5个一组,每组样式不同

如沐春 · 157次点击 · 4个月前

分析:输出20条数据,使用loop输出

有可能不足20条,要考虑不足20条的情况

  1. 数据足够20条

  2. 数据不足20条,可能存在剩余1-2条不足的情况

前端格式
<ul>

<li>
	<dl>
		<dd>1</dd>
		<dd>2</dd>
		<dd>3</dd>
		<dd>4</dd>
		<dd>5</dd>
	</dl>

</li>
<li>
	<dl>
		<dd>1</dd>
		<dd>2</dd>
		<dd>3</dd>
		<dd>4</dd>
		<dd>5</dd>
	</dl>
	
</li>
<li>
	<dl>
		<dd>1</dd>
		<dd>2</dd>
		<dd>3</dd>
		<dd>4</dd>
		<dd>5</dd>
	</dl>
	
</li>
<li>
	<dl>
		<dd>1</dd>
		<dd>2</dd>
		<dd>3</dd>
		<dd>4</dd>
		<dd>5</dd>
	</dl>
	
</li>


</ul>
# $v_n从1开始计数  %求模:1/5 = 1  2/5=2 5/5=0 10/5=0 7/5=2

实现:
<ul>
{loop table="article" limit="20" as="v"}

{if($v_n%5==1)}
<li><dl>
{/if}
<dd>{$v['id']}{$v['title']}</dd>
{if($v_n%5==0)}
</dl></li>
{/if}

{/loop}
{if($v_n%5!=0)}
</dl></li>
{/if}
</ul>

----如果每5组样式完全不同,那么就要对每组进行特定处理----
需要先格式化数据,将每5组数据存储到新的数组里面,然后特定处理
{php
$newlist = [];
$i = 0;
/}
{loop table="article" limit="20" as="v"}
{if($v_n%5==0)}
{php
$i = $i+1;
/}
{else}
{php

$newlist[$i][] = $v;

/}
{/if}
{/loop}

//处理特定数据
第一组
{if($newlist[0])}
{foreach $newlist[0] as $v}

{/foreach}

{/if}
第二组
{if($newlist[1])}
{foreach $newlist[1] as $v}

{/foreach}

{/if}
以此类推...


被收藏 0  ∙  0 赞  
加入收藏
0 回复  
善言善语 (您需要 登录 后才能回复 没有账号 ?)

请先登录网站