2013-10-24 4 views
-1

문제가 발생했습니다. 여기에 제 코드에 대한 페이지 매김을하려고하는데, 문제가 생기면 뭐든지 할 수있는 것 같습니다. 가능하면 도움을 받고 싶습니다. 뭔가 시도했습니다.SQL 출력의 페이지 매기기

$page = (int)$_GET['page']; 
$perpage = 5; 
if ($page<1) $page = 0; 

MyCode 당신이 한계 (30)를 사용하기 때문입니다

<?php 

echo '<div id="block" border="1" width="200" style="float:center">'; 
$i = 0; 
$getquery=mysql_query("SELECT * FROM dogs ORDER by ID LIMIT 30"); 
while($rows=mysql_fetch_assoc($getquery)){ 

    $id=$rows['id']; 
    echo '<a href="mypage.com/index.php?img='. $id .'"> 
     <img src="/thumb/'. $id .'.jpg" width="125" height="125" alt="" /> 
    </a>'; 

    $i++; 
    if($i == 10) { 
     echo '<br />'; 
     echo '<br />'; 
     $i = 0; 
    } 
} 
echo '</div>'; 

?> 

답변

0

... 그것은 항상 처음 30를 반환합니다/

예 1 :이 예 1과 유사하지만 결코 그것이 작동 얻었다 엘 ines ... LIMIT $ page * $ perpage, $ perpage

이렇게하면 mysql이 X, $ page * $ perpage에서 시작하여 Y 행, $ perpage를 선택하게된다.

1

변경 :

mysql_query("SELECT * FROM dogs ORDER by ID LIMIT 30"); 

사람 :

$start = $page * $perpage; 
mysql_query("SELECT * FROM dogs ORDER by ID LIMIT $start, $perpage "); 
+0

외모, 내가 그것을 pagenation와 함께 테스트했을 때 그것을 제거 :/ – user2406918

+0

정말 $ 페이지 및 $ perpage 변수가 올바르게 처리됩니까? – Taytay

0

당신은 당신의 SQL에 OFFSET 절을 추가해야합니다. 를 계산하려면, 당신은 단순히

$offset=$pageNumber * $resultsPerPage 

$pageNumber 기반 0이고 $resultsPerPageLIMIT 절에 값과 동일 할

내가 어떻게 그것을 그 자체로 원하는 때 여전히 작동하지 않았다, 한계 LIMIT (30)는이