volistr如何循环输出数据库中的数据,每五个换行
<ulstyle="display:inline-flex"><volistname="book"id="val"><liclass="p20bdd"><h3>书名:{$...
<ul style="display:inline-flex">
<volist name="book" id="val" >
<li class="p20 bdd">
<h3>书名:{$val.book_name}</h3>
<p>作者:{$val.book_author}</p>
<p>类型:{$val.type_id|type_name}</p>
<p>ISBN:{$val.book_isbn}</p>
<p>借阅次数:{$val.borrow_num}</p>
<p>出版商:{$val.publish_name}</p>
<p>出版日期:{$val.out_time|date='Y-m-d',###}</p>
<p>图书价格:{$val.book_price}</p>
<p>图书状态:<eq name="val.status" value='1'>已借出<else/>
在库,可借阅</eq></p>
<p><eq name="val.status" value='1'>
<input type="button" value="已借出" class="btn bggrey white w200" disabled="false">
<else/>
<input type="button" value="借阅"
class="btn bggreen white w200 popup"
href="{:U('index/borrow',array('step'=> 1,'book_id'=>$val['book_id']))}" data-width="700" data-height="200">
</eq>
</p>
</li>
</volist>
</ul>
我的数据库中现在有10本书,现在运行的效果就是10本书的信息都排成一行输出,页面地下出现了滚动条,我需要他每五本换行一次,输出两行
怎么去加判断? 展开
<volist name="book" id="val" >
<li class="p20 bdd">
<h3>书名:{$val.book_name}</h3>
<p>作者:{$val.book_author}</p>
<p>类型:{$val.type_id|type_name}</p>
<p>ISBN:{$val.book_isbn}</p>
<p>借阅次数:{$val.borrow_num}</p>
<p>出版商:{$val.publish_name}</p>
<p>出版日期:{$val.out_time|date='Y-m-d',###}</p>
<p>图书价格:{$val.book_price}</p>
<p>图书状态:<eq name="val.status" value='1'>已借出<else/>
在库,可借阅</eq></p>
<p><eq name="val.status" value='1'>
<input type="button" value="已借出" class="btn bggrey white w200" disabled="false">
<else/>
<input type="button" value="借阅"
class="btn bggreen white w200 popup"
href="{:U('index/borrow',array('step'=> 1,'book_id'=>$val['book_id']))}" data-width="700" data-height="200">
</eq>
</p>
</li>
</volist>
</ul>
我的数据库中现在有10本书,现在运行的效果就是10本书的信息都排成一行输出,页面地下出现了滚动条,我需要他每五本换行一次,输出两行
怎么去加判断? 展开
1个回答
展开全部
方法一:修改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;
foreach($arr as $k=>$v){
$data[$j][] = $v;
if($i%5==0){
$j++;
}
}
然后在前台:
<volist name="data" id="v">
<ul style="display:inline-flex">
<volist name="v" id="vo" >
<li class="p20 bdd">
<h3>书名:{$val.book_name}</h3>
<p>作者:{$val.book_author}</p>
....
</li>
</volist>
</ul>
</volist>
方法二:在后台处理成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;
foreach($arr as $k=>$v){
$data[$j][] = $v;
if($i%5==0){
$j++;
}
}
然后在前台:
<volist name="data" id="v">
<ul style="display:inline-flex">
<volist name="v" id="vo" >
<li class="p20 bdd">
<h3>书名:{$val.book_name}</h3>
<p>作者:{$val.book_author}</p>
....
</li>
</volist>
</ul>
</volist>
追问
第一种尝试失败
第二种基本不可行,因为图书是要增加 的,数据库不会只有10条记录,如果我现在有11本书就不行了
追答
第二种的话怎么可能会有数量限制啊 ,都是按5的倍数取余的,你就算有500条,也能分出100行来啊,你确定你试了?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询