電子書籍の厳選無料作品が豊富!

Smartyを使って、列の数を指定したテーブルを表示させたいと考えています。配列から受け取った値を、4つずつの列で表示させようとしています。

PHPから、$movies という配列を受け取ったとして、現在、

<table border="1" cellpadding="1">
({section name="group" loop=$movies})
<tr>
({section name="frower" loop=$movies max=4})
<td width="123">
<img src="({$movies[frower].image_filename_1})" alt="" border=0 width="160" height="120" /><br>
</td>
({/section})
</tr>
({/section})
</table>

と、試行錯誤の末書いてみたのですが、うまく動きません。
nameの部分をうまくカウントさせないといけないと思うのですが、どのようにしたらよいでしょうか。
よろしくお願いします!

A 回答 (1件)

sectionを2重に使っているんで、たくさん出てきますね。


foreachを使って、4つごとに</tr><tr>を書くようにしたらどうでしょう?
変数の意味など、推測のところもありますので、間違っていたら、すみません。

<table border="1" cellpadding="1">
<tr>
{foreach from=$movies item='i' key='k'})
{if $k % 4 == 0 && $k != 0}
</tr><tr>
{/if}
<td width="123">
<img src="{$i.image_filename_1}" alt="" border=0 width="160" height="120" /><br>
</td>
{/foreach}
</tr>
</table>
    • good
    • 0
この回答へのお礼

できました<m(__)m>
ありがとうございました!!
なるほど、keyを使うんですね。
今日、ほんとにずっと悩んでいた問題が解決できて良かったです。
ありがとうございました(^o^)

お礼日時:2008/12/04 22:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!