用数据库结果填充手风琴有帮助

时间:2010-01-02 13:52:38

标签: php codeigniter

我正在构建一个系统,用户可以从一系列catergories中构建自己的导航菜单,它的工作方式是点击'Blog',他们可以获得一个名为'Blog'的手风琴并扩展他们看到了所有的博客标题,但是当时,如果有多个博客条目,我的应用程序会创建多个手风琴,所以目前我有两个博客条目,当用户选择“博客”时,他们会选择手风琴,应该得到一个包含所有标题的

控制器:

public function category($content_id) {
    //$this->output->enable_profiler(TRUE);
    if (intval($this->uri->segments[4])){
        $content_id = $this->uri->segments[4];
    } else {
        $content_id = $this->uri->segments[7];
    }
    $data['content'] = $this->site_model->get_content($content_id);
    $this->load->view("call", $data);
}

型号:

    public function get_content($content_id) {
    $this->db->select('*');
    $this->db->from ('content');
    $this->db->join('categories', 'categories.category_id = content.categories_category_id', 'left');
    $this->db->where ('categories_category_id', $content_id);

    $query = $this->db->get();
    return $query->result_array();

}

查看:

    <?php
if(isset($content)) {
//  var_dump($content);
    foreach($content as $row) {
        echo "<h2 class='$row[category_name]'><a href='#'>$row[category_name]</a></h2>";
        echo "<div class='$row[category_name]'><a href='index.php/home/get_content/$row[content_id]' class='contentlink'>$row[content_title]</a></div>";
    }
}
?>

我如何更改我的代码,以便用户只选择一个手风琴得到的类别将所有类别的实际内容放在那个手风琴中?

希望这是有道理的。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你应该将标题的创建移出你的循环:

<?php
if(isset($content)) {
    echo "<h2 class='$category_name'><a href='#'>$category_name</a></h2>";
    foreach($content as $row) {
        echo "<div class='$row[category_name]'><a href='index.php/home/get_content/$row[content_id]' class='contentlink'>$row[content_title]</a></div>";
    }
}
?>

如果您不知道类别名称,可以尝试这样的事情:

<?php
$first = true;
if(isset($content)) {
    echo "<h2 class='$category_name'><a href='#'>$category_name</a></h2>";
    foreach($content as $row) {
        if ($first) {
            echo "<h2 class='$row[category_name]'><a href='#'>$row[category_name]</a></h2>";
            $first = false;
        }
        echo "<div class='$row[category_name]'><a href='index.php/home/get_content/$row[content_id]' class='contentlink'>$row[content_title]</a></div>";
    }
}
?>