2016-12-03 1 views
0

데이터베이스에서 사진 파일을 가져 오기 위해 페이지 작업을하고 있는데 결과를 페이지 매김하려고합니다. 그러나 그렇게하면 LIMIT이 첫 번째 페이지 만 반환하고 첫 번째 페이지 만 반환한다는 것을 알게됩니다. 쿼리하기 전에 내 코드가 괜찮은 것 같습니다. 무슨 일이 일어나고 있는지 모르겠고 도움이 필요합니다. 여기 내 코드는 다음과 같습니다.PHP와 MySQL 페이지 매김 문제

<?php 
require "../includes/db/config.php"; 
require "../includes/db/db.php"; 

$page=(!empty($_REQUEST['page']))?(int)$_REQUEST['page']:1; 
$perPage=isset($_GET['perpage'])?(int)$_GET['perpage']:3; 

$start=($page>1)?($page*$perPage)-$perPage:0; 
$photos=$conn->prepare(" 
    SELECT * 
    FROM cars 
    LIMIT {$perPage} 
"); 

$photos->execute(); 

$photos=$photos->fetchAll(PDO::FETCH_ASSOC); 
var_dump($photos); 
?> 

나는 문제가 무엇인지 확인하고 발견 된 것을 발견했습니다. 내가 var_dump 할 때 나는 그것이 내가 요구 한 세 개를 반환한다는 것을 깨닫는다. 하지만 'page = 2'URL을 넣으면 바뀌지 않습니다. 즉, 1 페이지와 동일한 값을 반환합니다. 왜 이렇게 사람이 있는지 알고 있습니까?

답변

0

오프셋. 오프셋이 정말로 중요합니다. 항상 첫 번째 값부터 시작했을 것입니다. 왜냐하면 시작 값을 항상 보지 않도록 설정했기 때문입니다.