0

クエリ文字列のルートについて質問があります。

codeigniter で検索をルーティングしようとしています。各検索にはいくつかのパラメーターがあります。最初は入力テキスト フィールドで、タイトルまたは説明用です。2 番目に、ユーティリティ、ゲーム、エクササイズなどのカテゴリがあります。3 番目に、IOS、WP、Android などのプラットフォームと、ページです。

次のようなルートを見たいです:

/ページ/3、または

/page/3/search/whatever または

/cat/ゲームまたは

/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 に答える