页面上读取数据,显示5列,总共有20条数据,读出来5行,多一行空白,请帮忙看看怎么回事

解决方案 »

  1.   

    哈哈……看不出来不用smarty显示,,,把数组print_r($arr);先看看,确认没问题再去模板相关代码部分,自己检查
      

  2.   

    {{foreach key=num item=Value from=$value}}
    <td width="5"></td>
    {{if ($num+1)%5==0}}
    </tr><tr height="5"><td colspan="9"></td>
    </tr><tr height="149">
    {{/if}}
    {{/foreach}}
      

  3.   

    你得给出查询语句,还有在查询结束后,smarty输出前,先用print_r打印出查询结果检查一下。
      

  4.   

    <tr>
    {{foreach key=num item=Value from=$value}}
    <td></td>
    {{if ($num+1)%5==0}}
    </tr><tr>
    {{/if}}
    {{/foreach}}
    </tr>
      

  5.   

    因为循环到第5个的时候也就是key=4   {{if ($num+1)%5==0}} 条件成真。。所以多了一行或者你加上判断,,并非循环到最后一个元素
      

  6.   

    怎么判断 ,并非循环到最后一个元素 啊,num的值吧
      

  7.   

    http://www.smarty.net/manual/en/language.function.foreach.php官方的,有如何判断是否循环到最后的例子你看.last部分
      

  8.   

    应该在两处判断,而不是一处{{foreach key=num item=Value from=$value}} 
    {{if ($num)%5==0}}
    <tr height="149">
    {{/if}}
    <td width="5"></td>
    {{if ($num+1)%5==0}}
    </tr>
    {{/if}}
    {{/foreach}}