私は2つのテーブルを持っています。 t1
およびt2
。ForeachでForeach?不正なデータを表示
t1
データ以下のように:
+--------+---------------+--------------+
| mid | name | desc |
+---------------------------------------+
| 1 | Fris | Helo |
| 2 | Kenn | Wow! |
| 3 | Henny | CCC |
+---------------------------------------+
t2
データ以下のように:次のように
$xzdtall = DB::fetch_all("SELECT * FROM t1 ORDER BY mid ASC");
foreach($xzdtall as $xzdt){
$testing = DB::fetch_all("SELECT * FROM t2 WHERE mid = $xzdt['mid'] ORDER BY tid ASC");
foreach($testing as $test){
$testlist[] = $test;
}
$xzdtlist[] = $xzdt;
}
そして今、私のループ:
+--------+---------+----------------+
| tid | mid | tcode |
+-----------------------------------+
| 1 | 1 | 1 |
| 2 | 1 | GG |
| 3 | 1 | TTTTTT! |
+-----------------------------------+
今私のPHPのコーディングは、このようなものです:
#my looping
<!--{loop $xzdtlist $xzdt}-->
<div>$xzdt[name] <!--{loop $testlist $test}--><b>$test[tcode]</b><!--{/loop}--></div>
<!--{/loop}-->
私の最終的な出力:
<div>Fris <b>1</b><b>GG</b><b>TTTTTT!</b></div>
<div>Kenn <b>1</b><b>GG</b><b>TTTTTT!</b></div>
<div>Henny <b>1</b><b>GG</b><b>TTTTTT!</b></div>
そして実際に、私はそれがKenn
ので、このようなこと必要年代とHenny
のmid
がT2の内側にない:
<div>Fris <b>1</b><b>GG</b><b>TTTTTT!</b></div>
<div>Kenn</div>
<div>Henny</div>
疑問にもかかわらず、内側ループの前に 'testlist'をクリアする必要があると思います。 'testlist = array();' –
また、使用しているDBとテンプレートライブラリについても言及する必要があります。これにより、コードの読み込みと解釈が容易になります。 –