2013-08-21 53 views
3

求解 我試圖在主頁上創建分頁。如何通過分頁鏈接發送變量值?

我的默認控制器:

$route['default_controller'] ="home"; 

問題1: 的分頁,如果我爲寫

$config['base_url'] = base_url() . 'home/index'; // index function 
$config['uri_segment'] = 3; 
$config['per_page'] = 10; 
$limit = array($config['per_page'] => $this->uri->segment(3)); 

那麼它的工作原理,但它顯示「本地主機/ baseURL時的/ home /指數/ 10 '在瀏覽器地址欄上。我想只顯示'localhost/baseurl/10'(而'localhost/baseurl /'是我的主頁,我想在那裏分頁)所以我寫了

$config['base_url'] = base_url(); // index function 
$config['uri_segment'] = 1; 
$config['per_page'] = 10; 
$limitt = array($config['per_page'] => $this->uri->segment(1)); 

但這不起作用。我怎樣才能做到這一點 ?

問題2:

我怎樣才能像 本地主機/ baseURL時的/ home /指數分頁鏈接發送變量值搜索= Y/10

我寫道:

$config['base_url'] = base_url() . 'home/index?search=y'; 

但這不起作用。它收到search=y/10。不僅y和分頁沒有找到10$this->uri->segment(3))

所以最新的正確方法呢?

編輯:

我htaccess的代碼是: -

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ ./mysite/index.php [L] 

</IfModule> 

這個代碼顯示了類似的 'localhost/mysite的/' 我的網站地址。但如果我設置分頁的基本URL等

$config['base_url'] = base_url(); 
$config['uri_segment'] = 1; 
$config['per_page'] = 10; 
$limitt = array($config['per_page'] => $this->uri->segment(1)); 

則數字顯示瞭如「本地主機/ mysite的/ 10」,但值「10」未由腳本接收分頁鏈接。如果我爲寫

$config['base_url'] = base_url().'home/index'; // 'index' is the function in 'home' class 
$config['uri_segment'] = 3; 
$config['per_page'] = 10; 
$limitt = array($config['per_page'] => $this->uri->segment(3)); 

然後它的工作原理,但瀏覽器地址欄中成爲「本地主機/ mysite的/首頁/索引/ 10」什麼,我不喜歡。解決第一個問題的方法是什麼?

+2

對於你需要在你的.htaccess文件中定義重寫規則,對於第二個問題,第一個問題使「page_query_string」選項讓你不需要使用uri-> segements,它會將其作爲_GET變量發送。 – ahmad

+0

讓我試試這些。 – user1844626

+0

第二個問題解決了。聲明'page_query_string'爲TRUE。但第一個問題仍然存在。我的htaccess文件代碼在我的編輯部分。我應該如何改變這種情況來解決第一個問題? – user1844626

回答

0

對於第一個問題,您必須定義一個rewrite rule,如第一條評論所述。
對於第二個問題做這樣的,

if($this->uri->segment(3)){ 
    $keyword = $this->uri->segment(3); 
} 
else if($this->input->get('search')){ 
    $keyword = $this->input->get('search'); 
} 

$config['base_url']  = base_url().'home/index/'.$keyword.'/page/'; 
$config["uri_segment"] = 5; 
+0

我的第二個問題解決了。我跟隨ahmad的評論。但第一個問題仍然需要解決。在那裏看到我的htaccess代碼。從瀏覽器地址欄的網站地址中刪除'index.php'。那麼我應該如何改變這個問題來解決第一個問題呢?我應該寫什麼新的? – user1844626