0

我对路由查询字符串有疑问。

我正在尝试使用 codeigniter 进行搜索。我为每个搜索设置了一些参数,首先是输入文本字段,用于标题或描述。其次,我有诸如实用程序、游戏、锻炼之类的类别……第三,一个平台,例如 IOS、WP、Android ……还有页面。

我想看到这样的路线:

/page/3,或

/page/3/search/whatever 或

/猫/游戏或

/cat/Games/search/battelfield 或

/page/1/cat/games/search/battelfield 或

/search/whatever 或类似的东西。

我将此代码用于模型中的函数:

enter code here

 function getAppBy($categ, $page, $str, $platform) {

    $perpage = 16;
    $offset = ($page-1)*$perpage;


    $this->db->select('app.id');
    $this->db->from('t_yp_app_category cat, t_yp_user_apps app');
    if ($categ != "") {
        $this->db->where("cat.name =", $categ);
    } if ($str != "") {
        $this->db->like('app.yp_title', '%' . $str . '%');
        $this->db->like('app.yp_description', '%' . $str . '%');
    }if ($platform != "") {
        $this->db->like('app.yp_platforms', '%' . $platform . '%');
    }

    $this->db->limit($perpage,$offset);
    $query = $this->db->get();
    $result = $query->result_array();
    //FIN SELECT
    if (sizeof($result) > 0) {
        return $result;
    } else {
        return false;
    }
}

enter code here

谢谢你。如果我没有解释清楚,请告诉我

4

1 回答 1

2
//www.mysite.com/search/sometitle/puzzle/android/4
$route['search/(:any)/(:any)/(:any)'] = 'search/getAppby/$1/$2/$3'; //default without offset, which is why offset defaults to 0
$route['search/(:any)/(:any)/(:any)/(:num)'] = 'search/getAppby/$1/$2/$3/$4'; //default with offset
//You may want to use some regex rather than wildcards ie:(:any)

public function getAppBy($input, $category, $platform, $offset=0){}
于 2013-02-05T18:39:00.553 回答