【发布时间】:2016-08-22 13:57:55
【问题描述】:
我有 2 张桌子。
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 |
+---------------------------+
首先,我的脚本当我将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
谢谢。
【问题讨论】:
-
您的问题不清楚。请包括您想要的输出。
-
我已经编辑了我的问题,请看一下,谢谢。
标签: php mysql for-loop foreach