2011-08-15 2 views
2

PHP의 SimpleXML 기능을 사용하여 XML 파일의 데이터로 채워지는 테이블을 만들었습니다. 내가 뭘하고 싶은지 페이징 기능을 추가하는 것입니다. 행이 5 개 이상이되면 페이지 2가 될 것입니다. 그렇게하는 방법?5 개 이상의 행이있는 경우 다른 페이지 추가

+1

당신은 무엇이라고 찾고있다 "매김 "그것을 찾으려고 노력하십시오. 거기에 몇 가지 예제가 있습니다. – Jrod

+0

감사합니다. 나는 자습서를 검색 할 것이다. – user874737

답변

2

을 감안할 때 XML :

<root> 
<item page="1" title="title 1" /> 
<item page="2" title="title 2" /> 
<item page="3" title="title 3" /> 
<item page="4" title="title 4" /> 
<item page="5" title="title 5" /> 
<item page="6" title="title 6" /> 
<item page="7" title="title 7" /> 
<item page="8" title="title 8" /> 
<item page="9" title="title 9" /> 
<item page="10" title="title 10" /> 
<item page="11" title="title 11" /> 
</root> 

PHP :

다음
<?php 
$xml = simplexml_load_file('yourxml.xml'); 

$limit = 5; 
$page = $_GET['page']; 

foreach ($xml->item as $item) { 
    if (empty($page)) { 
    if ($item->attributes()->page > 0 && $item->attributes()->page <= $page+$limit) 
     echo $item->attributes()->title,'<br/>'; 
    } else { 
    if ($item->attributes()->page > ($page-1)*$limit && $item->attributes()->page <= (($page-1)*$limit)+$limit)  
     echo $item->attributes()->title,'<br/>'; 
    } 
} 
?> 

당신이 yourpage.php 사용하여 액세스 할 수있는 페이지 = 2 등 등

+0

yourpage.php? page = ($ page-1) 및 yourpage.php? page = ($ page + 1)를 가리키는 이전 및 다음 버튼과 같은 것을 사용할 수도 있습니다. –

+0

다른 포럼에서이 답변을 발견하고이를 수행하는 것이 최선의 방법은 아니라고 말했습니다. 나는 초보자지만, 지금 시도해 보겠습니다. – user874737

+0

gets 요소 이름에서 정확히 무엇을 설정합니까? 너는 '페이지'라고했다. 또한, 왜 당신은 속성 제목을 에코합니까? 그것이 링크인가요? – user874737

1

현재 페이지를 나타내는 GET 매개 변수가 있습니다. 설정되지 않은 경우 기본값은 0입니다. 그런 다음 currentPage * 5 ~ (currentPage * 5) + 5의 요소 만 표시합니다. 페이지에 연결하려면 GET 매개 변수가 설정된 동일한 문 서 (예 : results.php?page=2)로 링크하십시오.

관련 문제