2010-05-12 4 views
1

페이지 매기기가있는 간단한 사이트 검색을 만들어야합니다. 아무도 URL 구조에 영향을 미치지 않고 어떻게하는지 말해 줄 수 있습니까? 현재 기본 CodeIgniter URL 구조를 사용하고 있으며 index.php을 제거했습니다. 어떤 제안?CodeIgniter로 사이트를 검색 하시겠습니까?

답변

0

"URL 구조에 영향을 미친다"는 의미를 이해하지 못했습니다. URL을 전혀 바꾸지 않고도 페이지 매김을 원한다는 뜻입니까? URL에 유일한 변화는 URL이

수 있습니다 당신은 페이지 5의 결과가 있다면 말

예에 숫자가되도록

CI의 표준 페이지 매김 클래스는 설정 페이지 매김에 당신을 수있는 것

http://www.example.com/searchresults

다음 2 페이지가 될 것

http://www.example.com/searchresults/5

페이지 3 등

http://www.example.com/searchresults/10

하고있을 것이다.

URL을 변경하지 않고 원하는 경우 아약스를 사용하면됩니다.

+0

네,하지만 방법에 대해 자세히 알아보기 나는 다음 페이지에 수색 기간을 통과 할 것입니까 ??? – sonill

+0

숨겨진 필드 – Kenzo

+0

을 사용하거나 flashdata를 사용할 수 있습니다. – bradfields

3

/search/search_term/page_number과 같은 URL을 사용할 수 있습니다.

이 같은 경로를 설정합니다

$route['search/:any'] = "search/index"; 

그리고이 같은 컨트롤러 :

function index() 
{ 
    $search_term = $this->uri->rsegment(3); 

    $page = (! $this->uri->rsegment(4)) ? 1 : $this->uri->rsegment(4); 

    // some VALIDATION and then do your search 
} 
0

코드 점화는 기본적으로 쿼리를 GET하지 않습니다,하지만 당신이 원하는 경우에 당신이 대안을 구축 할 수 있습니다 url은 검색 문자열을 표시합니다.

귀하의 URL은 표기 할 수있다 www.yoursite.com/index.php/class/function/request1:value1/request2:value2

$request = getRequests(); 
echo $request['request1']; 
echo $request['request2']; 

function getRequests() 
{ 
    //get the default object 
    $CI =& get_instance(); 
    //declare an array of request and add add basic page info 
    $requestArray = array(); 
    $requests = $CI->uri->segment_array(); 
    foreach ($requests as $request) 
    { 
     $pos = strrpos($request, ':'); 
     if($pos >0) 
     { 
      list($key,$value)=explode(':', $request); 
      if(!empty($value) || $value='') $requestArray[$key]=$value; 
     } 
    } 
    return $requestArray ; 
} 

소스 : http://codeigniter.com/wiki/alternative_to_GET/

1

그냥 이 질문을 업데이트하십시오. 그것은 다음과 같은 기능을 사용하는 것이 가장입니다 :

$uri = $this->uri->uri_to_assoc() 

및 결과는 다음과 같이 연관 배열에 모든 것을 넣어 것입니다 :

[array] 
(
    'name' => 'joe' 
    'location' => 'UK' 
    'gender' => 'male' 
) 

URI Class at CodeIgniter.com

관련 문제