分类画廊

时间:2013-06-29 09:02:51

标签: php mysql group-by gallery

我正在尝试为我的博客制作分类图库。到目前为止,我已经创建了包含表格的日期库:照片(photos_id,photos_gal_id,photos_link),galeries(galeries_id,galeries_title,galeries_description),还有其他表格,但与此问题无关(例如用户,帖子等)。< / p>

我通过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;
    }
}?>

然后我从DB获取数据:

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'];

}

它做得很好并列出了galeries(类别):1,2,3,4。哪个是DB-s组,由查询定义。

现在,问题是,如何使链接显示在这些组中(仅属于该组的链接)。 我知道我必须用HTML制作UL / LI列表,这不是问题,那部分可行,问题是PHP部分:)

总之,它应该是这样的。

  • 1第一画廊
    • Link One
    • Link Two etc
  • 2第二画廊
    • Link One
    • Link Two etc
  • 3第三画廊
    • Link One
    • Link Two etc
  • 4第四画廊
    • Link One
    • Link Two etc

我已经尝试了一切:虽然,foreach,但一切都无法让它正常工作。

0 个答案:

没有答案