编程语言
首页 > 编程语言> > php-在Codeigniter中过滤,排序和分页

php-在Codeigniter中过滤,排序和分页

作者:互联网

当我在寻找一个非常轻量级的框架时,Ive最近开始使用CodeIgniter,它似乎是首选.

我是整个MVC的新手,很喜欢它,但是被一些看起来很简单的东西所困扰.

我正在编写CMS,需要一种过滤,排序和分页结果的方法.我习惯使用querystrings来做到这一点,所以我会有类似的东西:

articles.php?order=title&sort=desc&filter=articletitle&page=5

我不知道如何在CI中执行此操作,因此我只是在配置中打开了EnableQueryStrings,它工作正常,但是我感觉到它可能不是最优雅的解决方案.

我想我可以

index.php/articles/index/order/title/sort/desc/filter/articletitle/page/5

但是对我来说,这似乎很不灵活,例如,如果我不需要排序,该如何确保我正在寻找正确的uri细分呢?

有任何想法吗?

解决方法:

您是否尝试实现_remap函数?它将所有查询重定向到该功能的控制器,使您可以根据需要实现任意数量的查询.

然后,您可以执行以下操作:

class Articles extends Controller
{
    // Note: No need for a "order" or even an "index" function!
    public function _remap()
    {
        $assoc = $this->uri->uri_to_assoc( 4 );
        /* $assoc is now 
           array( "order"=>"title",
                  "sort"=>"desc",
                  "filter"=>"articletitle", 
                  "page"=>5); */
    }
}

标签:codeigniter,query-string,php,content-management-system
来源: https://codeday.me/bug/20191024/1918560.html