[PHP-users 27976] Re: テンプレートを使用の際
TAKAGI Masahiro
matakagi @ osk2.3web.ne.jp
2005年 12月 31日 (土) 09:26:53 JST
高木です。
At Sat, 31 Dec 2005 08:29:02 +0900,
<kimura @ kmtec.co.jp> wrote:
>
> こんにちは、
> htmltemplate.incを使用した
> テンプレートを使用しているのですが
>
>
> 下の記述の場合、抽出したレコードが
> 10件あったとして、<td>を連続して10回繰り返してしまいます。
> それを、5回ごとに<tr>して、次行に移動するようにしたいのですが
> 何か手などあるでしょうか?
> http://hoover.ktplan.ne.jp/kaihatsu/php/index.php?type=top見本にしました。
>
http://hoover.ktplan.ne.jp/kaihatsu/php/index.php?type=doc&txt=htmltemplate
の「2.5 テンプレート命令一覧」をごらんになるとわかるように、テンプレー
ト側で数を数えるような命令は存在しないようです。その理由は、同じページ
の「3 動作原理」で説明されていますね。で、もしテンプレートにそのような
命令が欲しいのなら、同じページの「4 おわりに」に書かれているとおりにす
ればよろしいのではないでしょうか。
テンプレート側でどうにもできない以上、「5 回ごとに〜」という処理はテン
プレートに渡すデータのほうで対応する必要があります。
> <table border="1" cellpadding="0"
> cellspacing="0" width="300">
> <tr>
> <!--{each data}-->
> <td><p align="center"><input type="checkbox"
> name="fC[]" value="{val data/accid}">{val data/accid}</p>
> </td>
> <!--{/each}-->
> </tr>
> </table>
少なくとも、これではどうがんばっても <tr>,</tr> が 1 回しか表示されな
いように思います。たとえば以下のような感じのテンプレートにして、テンプ
レートに渡すデータを工夫すればよいのではないでしょうか。
<table border="1" cellpadding="0"
cellspacing="0" width="300">
<!--{each data}-->
<tr>
<!--{each data/tr}-->
<td><p align="center"><input type="checkbox"
name="fC[]" value="{val data/tr/accid}">{val data/tr/accid}</p>
</td>
<!--{/each}-->
</tr>
<!--{/each}-->
</table>
もしかしたら
http://www.lyricfathom.com/phpbb/viewtopic.php?t=14
が参考になるかも知れません。
--
高木 正弘 mailto:matakagi @ osk2.3web.ne.jp
PHP-users メーリングリストの案内