
No.1ベストアンサー
- 回答日時:
Smartyでは、PHPのように $i = 0 のような書き方はできません。
変数に値を入れたいのであれば、{assign var=i value=$i+1}のようになります。
foreachの場合は、iterationがあるので、インクリメントをする必要は無く、
<table>
<tr>
{foreach item=item_list from=$item_list name=item_loop}
<td>{$item_list.hoge|escape}</td>
{if $smarty.foreach.item_loop.iteration % 5 ep 0}
{* 5つ目の値なら行を閉じて次の行を始める *}
</tr><tr>
{/if}
{/foreach}
</table>
のような書き方で動きます。
ただし、これではテーブルの構造をちゃんと作れない(最後の行を</tr>で閉じることができない)ので、少し変更する必要があると思います。
その辺を気になさらないのであれば、以下は無視してくださって結構です。
<table>
<tr>
{foreach item=item_list from=$item_list name=item_loop}
<td>{$item_list.hoge|escape}</td>
{if $smarty.foreach.item_loop.iteration % 5 ep 0}
{* その行で5つ目のデータなら</tr>を入れる *}
</tr>
{if not $smarty.foreach.item_loop.last}
{* それが最後のデータじゃなかったら次の行を始める *}
<tr>
{/if}
{/if}
{if $smarty.foreach.item_loop.last and $smarty.foreach.item_loop.total % 5 neq 0}
{* 最後のデータで、その行の5つ目じゃない(</tr>が入っていない)場合は</tr>を入れてあげる *}
{* ここに<td></td>を必要な数だけ入れた方がいいですが、なくてもそんなにおかしくはないです *}
</tr>
{/if}
{/foreach}
</table>
参考URL:http://sky.freespace.jp/smarty/SmartyManual_2-6- …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マッチング処理(1:N)
-
foreachとかの勝手な省略?
-
textより$$にはさまれた文字列...
-
forを使わずにforeach文のみで...
-
foreachの間にテーブルの<TR>を...
-
PHPでこのコード自体に意味は無...
-
3つの連想配列を交互に代入し...
-
foreachで上限回数指定方法また...
-
POSTで渡されるデータの数がわ...
-
MySQL レコード追加と文字コー...
-
プログラムの改良
-
sqlのデーターを『あ行』『か行...
-
Arduino 全部のピンをチェック...
-
Smartyでインクリメント
-
filter_input( INPUT_POST, 'va...
-
Excel VBAでフィルター後の対象...
-
Smartyで添え字が全て文字列の...
-
判定の仕方
-
foreachで配列を、左から縦3列...
-
PHPの構文で間違えが分からない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MySQLから受け取ったデータを連...
-
変数に格納された文字列でdefin...
-
先頭0で重複のない配列を作りたい
-
array関数につきまして
-
oreachで変数を用意せずにカウ...
-
関数をの引数について。
-
PHPの配列の出力について
-
配列からプルダウン用のHTMLを生成
-
規則性があるテキストをグルー...
-
forを使わずにforeach文のみで...
-
連想配列からの値の取り出し
-
POSTで渡されるデータの数がわ...
-
PHPでテキストファイルを読み込...
-
PHPで、'=>'の意味が分かりませ...
-
phpでforeachの中にforeachがあ...
-
php 2つの配列の内、片方を元に...
-
foreachで上限回数指定方法また...
-
POSTを配列として送信し、キー...
-
多次元配列の扱い方
-
PHPの構文で間違えが分からない
おすすめ情報