用户
 找回密码
 入住 CI 中国社区
搜索
查看: 1980|回复: 6
收起左侧

[已解决] 请问怎样在读数据的时候,每4个数据换一行?

[复制链接]
发表于 2013-7-16 18:00:23 | 显示全部楼层 |阅读模式
本帖最后由 yeung1217 于 2013-7-17 12:55 编辑

以普通的foreach写法为例,无论多少个数据都會在同一行:
HTML复制代码
<div class="row-fluid">
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
</div>
复制代码


而我希望是每4个换一行,像这样:
HTML复制代码
<div class="row-fluid">
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
</div>
 
<div class="row-fluid">
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
    <div class="span3"> 內容 </div>
</div>
复制代码


请问各位有没有怎么代码简单的方法呢?倒是有人在laravel实现了,不过在ci应该怎么做?
http://stackoverflow.com/questions/17011497/laravel-blade-templates-layout-structure-add-row-fluid-for-each-4-spans

先谢谢各位!
发表于 2013-7-16 19:56:47 | 显示全部楼层
foreach 的时候判断下就好了啊。。。
索引 和 4 取余数,等于 0 就代表4个,然后输出一个 </div><div> 就行了。。。
 楼主| 发表于 2013-7-16 20:57:18 | 显示全部楼层
Hex 发表于 2013-7-16 19:56
foreach 的时候判断下就好了啊。。。
索引 和 4 取余数,等于 0 就代表4个,然后输出一个  就行了。。。 ...

我目前就是这样做,但代码看上去好不漂亮..
有精简的还是更好~
发表于 2013-7-16 22:42:08 | 显示全部楼层
我看你用的bootstrap的布局,应该是你的grid没用对,跟ci没关系
好好看看bootstrap的grid
 楼主| 发表于 2013-7-17 01:25:24 CI中国手机版 | 显示全部楼层
dickfu 发表于 2013-7-16 22:42
我看你用的bootstrap的布局,应该是你的grid没用对,跟ci没关系
好好看看bootstrap的grid ...

这问题跟用与不用bootstrap没有关系的,要是用站长说的方法,当然能实现,但我觉得这样有点笨,可以的话当然用最精简的代码最好了
发表于 2013-7-17 09:48:51 | 显示全部楼层
yeung1217 发表于 2013-7-16 20:57
我目前就是这样做,但代码看上去好不漂亮..
有精简的还是更好~

觉得代码不优雅,就自己封装个 helper,很简单。
在视图里就可以一句话实现这个功能了,应该就优雅了。

就是把取余数这个过程封装起来就可以了。

 楼主| 发表于 2013-7-17 10:10:48 | 显示全部楼层
Hex 发表于 2013-7-17 09:48
觉得代码不优雅,就自己封装个 helper,很简单。
在视图里就可以一句话实现这个功能了,应该就优雅了。

謝謝站長建議,其實你說的我也在做

不過我改了一下那個laravel答案的代碼,現在已經可以在ci用了,給大家參考一下
PHP复制代码
    function show_categories()
    {
        $categories = $this->category_model->get_categories();
        foreach(array_chunk($categories, 7) as $cat_items ) {
            echo ("<div class='span3'><ul>");
            foreach($cat_items as $cat) {
                echo ("<li>".$cat['category_name']."</li>");
            }
            echo ("</ul></div>");
        }
    }
复制代码


本版积分规则