【问题标题】:Get Latest Topic for each category in Forum Home Page in CodeIgniter在 CodeIgniter 的论坛主页中获取每个类别的最新主题
【发布时间】:2013-08-28 11:08:05
【问题描述】:

我正在使用 CodeIgniter 创建一个简单的论坛。

我想获取论坛主页中每个类别的最新主题。 我想要的是这样-

分类页面可以获取最新主题,但是首页却无法获取

主页类别列表的我的控制器 -

class Category extends CI_Controller {

    public function index()
    {
        $this->load->model('Category_model');

        $data['categories'] = $this->Category_model->get_all_categories();

        $this->load->view('forums/index', $data);
    }
}

我的模型 -

class Category_model extends CI_Model {
    function get_all_categories()
    {
        $get_categories = $this->db->get('categories');
        return $get_categories->result_array();
    }

}

数据库结构-

主题

  • topic_id
  • topic_title
  • 主题内容
  • topic_cat_id

类别

  • cat_id
  • 猫名
  • cat_description

【问题讨论】:

  • 你的分类页面模型是什么样的?你的数据库结构?
  • @NiloySaha 我添加了数据库结构。但我没有得到第一个问题。什么意思?

标签: php database codeigniter


【解决方案1】:

你可以试试这个,希望对你有帮助:

function get_all_categories()
{
    $data           = array();
    $get_categories = $this->db->get('categories');
    $cat            = $get_categories->result_array();
    foreach( $cat as $key=>$each ){
        $rs = $this->db->where('topic_cat_id', $each['cat_id'])->oreder_by('topic_id', 'desc')->get('Topics', 1)->row_array();
        $data[$key]['cat']  = $each;
        $data[$key]['top']  = $rs;
    }
    echo "<pre>";print_r( $data );
    return $data;
}

【讨论】:

    【解决方案2】:

    要获取每个类别的最新主题,您可以试试这个:

    $this->db->select_max('topic_id');
    $this->db->select('topic_title,topic_content,topic_cat_id');
    $this->db->group_by("topic_cat_id");
    $this->db->order_by("topic_id", "desc");//ordering direction for topic id
    $get_categories = $this->db->get('topics');
    $result = $get_categories->result_array();
    

    【讨论】:

    • 忘记订购主题ID。我编辑了代码。现在你可以测试它。我希望它现在可以工作
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    相关资源
    最近更新 更多