我正在尝试为我的博客制作分类画廊。到目前为止,我已经用表格创建了数据库:照片(photos_id、photos_gal_id、photos_link)、画廊(galeries_id、galeries_title、galeries_description),还有其他表格,但与这个问题无关(例如用户、帖子等)。
我已经通过 init 文件与 db 建立了连接:
<?php
class init {
protected $db, $result;
private $rows;
public function __construct(){
$this->db = new mysqli('localhost','root','hhpass','europa');
}
public function query ($sql){
$this->result = $this->db->query($sql);
}
public function rows(){
for($x =1; $x<= $this->db->affected_rows; $x++){
$this->rows[] = $this->result->fetch_assoc();
}
return $this->rows;
}
}?>
然后我通过以下方式从数据库获取数据:
class Galeries extends Init {
public function fetchGaleries(){
//query db
$this->query("SELECT photos_id,
photos.photos_gal_id as 'group',
GROUP_CONCAT(photos_link) as link, galeries.galeries_title, galeries.galeries_description, galeries.galeries_id
FROM photos
INNER JOIN galeries
ON galeries.galeries_id=photos.photos_gal_id
GROUP BY photos.photos_gal_id
ORDER BY galeries.galeries_id ASC");
//return
return $this->rows();
}
}
到目前为止它工作正常..当我在单独的文件中调用这个函数时:
$galeries_a = new Galeries();
$gals_x = $galeries_a->fetchGaleries();
如果我使用
foreach($gals_x as $gals_y){
echo $gals_y['group'];
}
它做得很好并列出了画廊(类别):1,2,3,4。哪些是 DB-s 组,由查询定义。
现在,问题是,如何使链接显示在这些组中(仅属于该组的链接)。我知道我必须在 HTML 中制作 UL/LI 列表,这不是问题,那部分有效,问题是 PHP 部分 :)
总而言之,它应该看起来像这样。
- 1 第一画廊
- 链接一
- 链接二等
- 2 秒画廊
- 链接一
- 链接二等
- 3 第三画廊
- 链接一
- 链接二等
- 4 第四画廊
- 链接一
- 链接二等
我已经尝试了一切:虽然,foreach,一切,都无法让它正常工作。