0

我必须表:

画廊-> id_gallery,名称,描述,数据

和:

图片-> gallery_id,名称

一个画廊可以有许多图像。我需要选择所有画廊和所有图像,并在查看页面上显示所有画廊和包含该画廊的所有图像。怎么能做到这一点?

我现在有这样的代码:

$this->db->select('*')->from('image')->join('gallery','id_gallery = gallery_id');
$q = $this->db->get();
return $q = $q->result_array();

编辑:

<?php foreach ($gallery as $gal):  ?>
<figure>
<a href="<?php echo IMG ?>galerija/<?php echo $gal['name'] ?>/<?php echo $gal['path'] ?>" rel="galerija[slike]" class="figure_img">
<img src="<?php echo IMG ?>galerija/<?php echo $gal['naziv'] ?>/thumbs/<?php echo $gal['path'] ?>" >
<figcaption><?php echo $gal['name']; ?></figcaption>
</a>
</figure>
<?php endforeach; ?>

这个 foreach 循环产生 5 个 div 标签而不是一个(例如,如果画廊有 5 个图像)。

4

1 回答 1

3

如果您想从所有画廊的图像表中选择所有图像............

$this->db->select('*');
$this->db->from('images');
$this->db->join('gallery', 'gallery.id_gallery = images.gallery_id');
$query = $this->db->get();
return $q = $query->result_array();

或以其他方式。编写一个模型函数并在其中

public function get_images()

 {
    $res=$this->db->query("select * from images and gallery where gallery.id_gallery = images.gallery_id");
    if($res->num_rows()>0){
        return $res->result("array");
    }

    return array();

}
于 2012-11-27T15:21:32.967 回答