1

我正在尝试为我的博客制作分类画廊。到目前为止,我已经用表格创建了数据库:照片(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,一切,都无法让它正常工作。

4

0 回答 0