40 ポイント。親クラスとサブクラスのリストを出力する ThinkPHP ループのネスト
皆さんこんにちは。最近、thinkPHP フレームワークを学習しています。テンプレート ページにデータのリストを出力するループを実装したいと思っています。最初に親クラスのカテゴリ名を出力し、次に対応するサブカテゴリのリストを出力し、次に別の親クラスの名前を出力し、次に親クラスの対応するサブカテゴリを出力する、というようになります。 。 。私はテーブルレイアウトを使用しており、形式は次のとおりです。
カテゴリ名紹介
親カテゴリ名 1 ...
サブカテゴリ名 1 .. ...
サブクラス名 2 .....
サブクラス名 3 .....
親クラス名 2 .....
サブクラス名 1 。 ....
サブクラス名 2 .....
サブクラス名 3 .....
volist を使用して実装する方法はありますか? または、より良い方法はありますか?アドバイスをいただければ幸いです。 !
-----解決策---------------------------- ----
使用方法は地面に戻って横断するだけです
------解決策----------------------
試してみてください: これが初めてですすべてのparent_idを検索し、レコードセットの合計parent_countを書き留め、parent_countでループダウンするなど...
------解決策---------
<みんな> <foreach name="list" item="vo" > <tr rel="{$vo.depa_id}" target="depa_id"> <td>{$vo.depa_id}</td> <td><?php if ($vo['depa_default'] == 1) echo '<b>[メインページ]</b> ?<a href="__BASEURL__/{$vo.dein_id}/{$vo.depa_id}.html" target="_blank ">{$vo.depa_title}</a></td> <td>{$vo.label_count}</td> <td>{$vo.model_name}</td> <td>{$vo.depa_order}</td> </tr> <foreach name="vo.son" item="son" > <tr rel="{$son.depa_id}" target="depa_id"> <td>{$son.depa_id}</td> <td><img style="vertical-align: middle;" src="http://bbs.phpchina.com/images/default/tree_linemiddle.gif" alt="|-" title="|-" /><a href="__BASEURL__/mudidi/{$vo.dein_id}/{$vo.depa_id}.html" target="_blank">{$son.depa_title}</a></ td> <td>{$son.label_count}</td> <td>{$son.model_name}</td> <td>{$son.depa_order}</td> </tr> </foreach> </foreach> </tbody> <br><font color="#e78608">------解決策---------</font><br><br><br>テンプレートが良くありません再帰、より良い方法は、プログラム ロジックで大まかなツリー構造を再帰し、テンプレートでスタイルを制御することです。 <br><font color="#e78608">------解決策---------</font><br>関連付けモデルを使用する<br>
<ボリスト名="リスト" id="vo"> <tr><td>{$vo.typeName}</td><td>{$vo.typeDescription}</td></tr> <ボリスト名="vo.depat" id="値"> <tr><td>{$value.typeName}</td><td>{$value.typeDescription}</td></tr> </ボリスト> </ボリスト> <br><font color="#e78608">------解決策------------------</font><br> これは通常、MYSQL を使用して行われ、通常はデータベースがセットアップされ、最初に親クラスとサブクラスに同じフィールド VAL を設定し、次にサブクラスにフィールドを追加して親クラス ID を保存すると、WEB ページがループアウトします <div class="clear"></div>