猿问

mysql里有一个商品表goods和一个商品图片表goods_img,两表通过商品表的id和商品图片表的goodId关联

已经通过php检索出商品表里的数据

$sql="select * from goods";

$rows=fetchAll($sql);

echo json_encode($rows);

但现在我想把每一个商品的图片数据塞进该条商品数据里,怎么实现呢

比如

晓风莞尔
浏览 5688回答 3
3回答

nadirvishun

可以重新组装数组,但是获取大量列表时会多次查询数据库:foreach ($rows as $key=>$row){     $sql="select images from goods_img where goods_id=".$row['id'];     $images_rows=fetchAll($sql);     $rows[$key]['images']=$images_rows;//或者加上url处理 }为了减少数据查询,也可以线一次性取出所有与列表相关的图片数据,然后再组装成想要结果:$sql="slect goods_id,images from goods_img where goods_id in(1,3,4,5)";//主表中查询到的所有id $images_rows=fechAll($sql); foreach($rows as $key=>$row){     foreach($images_rows as $k=>$v){         if($row['id']==$v['goods_id']){             $rows[$key]['images'][]=$v['images']//或者加上url         }     } }以上仅仅是示例。
随时随地看视频慕课网APP
我要回答