그것은해야합니다 ...
$lstart = ($page * 6) -6; // quite frankly, it's clearer to write...
// ($page - 1) * 6
$limit = $lstart.',6';
제한의 두 번째 절은 얼마나 많은 항목을 선언합니다. 특정 시점까지. MySQL의 문서에서
: (복사/붙여 넣기)
SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15
그래서, 10이 1 행을 얻기 위해, 따라서 행 2-11 것, 당신은 제로 오프셋을 설정해야합니다 : 0,10 행을 1-10 줄 것입니다.
또한 여기 LIMIT에 대한 자세한 튜토리얼을 확인할 수 있습니다 : 설명과 http://php.about.com/od/mysqlcommands/g/Limit_sql.htm
코드.
$rows_per_page = 6; // you're trying to get 6 rows for every "page".
// On page 1, you'd want rows 0-5 (6 rows inclusively)
// On page 2, you'd want rows 6-111 (again, 6 rows inclusively)
// and so forth.
// So when $page == 1, you want to start at 0, on page 2, start at 6....
// To express this pattern mathematically, we write:
$start = ($page - 1) * 6
// mysql takes offset and number as it's two variables in the LIMIT clause,
// in that order, when two are provided.
// So we write:
$query = "SELECT * FROM table WHERE 1 LIMIT $start, $rows_per_page;";
// So, at page 1, you get
$query = "SELECT * FROM table WHERE 1 LIMIT 0, 6;"; // if we were to substitute the variables.
$query = "SELECT * FROM table WHERE 1 LIMIT 6, 6;"; // at page 2
$query = "SELECT * FROM table WHERE 1 LIMIT 12, 6;"; // at page 3
'LIMIT start, number'인 경우 '시작/중지'컨텍스트가 아닙니다. 그것은 레코드'35'로 시작해서 다음 번'30' *을 주겠다. 그래서 그것은 바로 그 시점에서 보지 않습니다. –