表banners
| id | src | roll |w |...|
-------------------------
| 1 | blue.jpg | 7 |120|...|
| 2 | white.jpg | 5 |250|...|
| 3 | green.jpg | |140|...|
表brolls
| id | src |...|
-------------------
| 4 | jones.jpg |...|
| 5 | abba.jpg |...|
| 7 | italia.jpg |...|
我需要从all
表中选择both
表的列数不同
并非banners
中的所有行都具有roll
值
banners.roll
实际上是brolls.id
while ($row = $st->fetch()){
$items .=
"<img src = '" . $row['banners.src'] . "'
data-id = " . $row['banners.id'] . "
data-roll = '" . $row['brolls.src'] . "'
data-w = " . $row['banners.w'] . "
alt='img'>\n\n";
}
所以最终结果应该是:
<img src = 'blue.jpg' data-id=1 data-roll='italia.jpg' data-w=120 alt='img'>
我需要以这种方式列出all
中的banners
张图片。
有帮助吗?
答案 0 :(得分:0)
您没有指定您拥有的数据库类型。我猜您正在使用mysql。您可能会更清楚地说出自己想要什么。我猜您正在寻找SQL查询和PHP代码以所需的方式对结果进行排序。
这是一个建议。
SQL必须为:
$sql_a = 'SELECT id, src, roll, w FROM banners';
$sql_b = 'SELECT id, src FROM brolls';
您应该在2个不同的查询中获得所有它们,并形成2个不同的数组,每个数组一个:$ array_banners和$ array_brolls;具有下一个结构:
$ array_banners ['id value'] = array('src'=>'src value','roll'=>'roll value','w'=>'w value')
$ array_brolls ['id value'] ='src value';
然后您将对图像进行html编码:
foreach( $array_banners as $k => $v)
{
"<img src = '" . $v['src'] . "'
data-id = " . $k . "
data-roll = '" . $array_brolls[$v['roll']]['src'] . "'
data-w = " . $v['w'] . "
alt='img'>\n\n"
};
准备好了。