Php 数据库中的Codeigniter菜单

Php 数据库中的Codeigniter菜单,php,twitter-bootstrap,codeigniter,Php,Twitter Bootstrap,Codeigniter,我使用Codeigniter和一个本地数据库制作了一个菜单,其中包含不同书籍的域。我能够显示所有的域名并可视化地构建菜单,但我真的不知道如何使它们可点击,并且在点击之后,只显示属于被点击域的书籍 例如,如果有人单击域X,我希望用户被重定向到website.com/X,并在X域中显示书籍 我不知道从哪里开始,以及如何真正做到这一点。我不是要求有人为我写代码,而是向我解释为了实现这一点我应该采取的步骤 下面是一些我认为相关的代码 控制器: class Menu extends MX_Controll

我使用Codeigniter和一个本地数据库制作了一个菜单,其中包含不同书籍的域。我能够显示所有的域名并可视化地构建菜单,但我真的不知道如何使它们可点击,并且在点击之后,只显示属于被点击域的书籍

例如,如果有人单击域X,我希望用户被重定向到website.com/X,并在X域中显示书籍

我不知道从哪里开始,以及如何真正做到这一点。我不是要求有人为我写代码,而是向我解释为了实现这一点我应该采取的步骤

下面是一些我认为相关的代码

控制器:

class Menu extends MX_Controller{
    function index() {
        $this->load->model('menu_model');

        $data['items'] = $this->menu_model->domenii();

        $this->load->view('menu', $data);

    }

}
型号:

class Menu_model extends CI_Model{
    function domenii() {
        $query = $this->db->get('domenii');
        return $query->result();
    }
}
视图(引导):


切换导航

谢谢

如果我理解正确,那么我会使用路由,并将每个请求转发给控制器。像这样,

$route['(:any)'] = 'controller/method/$1';
现在,控制器方法

function method($name = null)
{
    if(is_null($name))
    {
        echo 'no $name found...';
    }
    else
    {
        // Name was found, make sure it exists
        if ($item = $this->model->check_name($name))
        {
            // Yes the name exists
            var_dump($item);
        }
        else
        {
            show_error('invalid $name');
        }
    }

}

希望这有帮助。

您可以编写一个控制器方法,这样您的url就会变成www.website.com/controller/method/X。其中X是决定域类型的参数。在此控制器方法中,首先确定参数值是否正确,并相应地从模型中获取数据
function method($name = null)
{
    if(is_null($name))
    {
        echo 'no $name found...';
    }
    else
    {
        // Name was found, make sure it exists
        if ($item = $this->model->check_name($name))
        {
            // Yes the name exists
            var_dump($item);
        }
        else
        {
            show_error('invalid $name');
        }
    }

}