0
我有2個表。有條件的Mysql foreach取決於其他表記錄
t1
和t2
。
t1
正在存儲地圖信息。
t2
是存儲一些額外的信息t1
t1
表如下:
+--------+-----------+-----------+------------+-----------+
| ID | maptitle | item1 | item2 |item.$x |
+--------+-----------+-----------+------------+-----------+
| 1 | Amap | 1000 | 2000 |x |
| 2 | Bmap | 2000 | 3000 |x |
| 3 | Cmap | 3000 | 4000 |x |
+---------------------------------------------------------+
的itemx
是取決於多少行t2
t2
表如下:
+----------+----------------+
| ID | title |
+----------+----------------+
| 1 | extra1 |
| 2 | extra2 |
| x | x |
+---------------------------+
冷杉st,我的腳本當我insert
一個新的數據到t2
,t1
會加item.$x
。 $x
是t2
的ID。但我面對的一個問題,當我query
數據和我的編碼,現在如下:
$mapslist = DB::fetch_all("SELECT * FROM ".DB::table('t1')." ORDER BY id ASC");
foreach($mapslist as $mn => $ml){
$mapslista[] = $ml;
}
我的輸出編碼的HTML:
<!--{loop $mapslista $mn $ml}--> //This is looping in my html
<div>{$ml[id]} , {$ml[maptitle]} {$ml[item.$x]}</div>
<!--{/loop}--> //Looping END
//below is what I guess
<!--{loop $mapslista $mn $ml}--> //This is looping in my html
<div>{$ml[id]} , {$ml[maptitle]} , <!--{loop again}-->{$ml[item]}, {$ml[item2]} {$ml[item3]} <--{/loop}--></div> //the $ml[item.$x], the $x is depend on how many row in t2
<!--{/loop}--> //Looping END
最終輸出如下(HTML):
1 , Amap
2 , Bmap
3 , Cmap
我的問題是,如果我的t2
只得到ID 1
,那麼t1
只顯示item1
的數據?如果我的t2
得到了10 rows data
,那麼t1
只顯示item1
直到item10
數據?
下面是我所期望的:(例如,如果t2
只有1行,我t1.item
也應該有item1
)
1 , Amap , 1000
2 , Bmap , 2000
3 , Cmap , 3000
例如,如果t2
有2行,那麼我t1.item
也應該有item1
item2
列。所以最終的輸出應該是
1, Amap , 1000 , 2000
2, Bmap , 2000 , 3000
3, Cmap , 3000 , 4000
謝謝。
你的問題還不清楚。請包括你想要的輸出。 –
我已編輯我的問題,請看看,謝謝。 –