특정 조건과 일치하는 행을 출력하는 SQL 쿼리가 있습니다. 이 프로세스에 페이지 매김을 추가하여 사용하기가 쉽습니다.PHP 페이지 매김 추가하기
내 과정이 같다 :이 페이지의 하한 아웃
- 도 현재 페이지의 상한을 알아낼
- 풀 (예 1 - - 20 21 40 등). 해당 행
- 20 이상이있는 경우,
- 목록 MySQL의 테이블에서 해당 행은
floor($totalRows/20)
페이지 - 를 추가 ???
- 매김
내 매김은 반 올바르게 작동하는 것 같지만 마지막 페이지는 (그것이 무엇이든간에)는해야 행의 양보다 하나 적은 나열합니다. 내 코드는 다음과 같습니다.
$page = $_GET["p"];
$bL = (($page - 1) * 20) + 1;
$tL = $page * 20;
$total = mysql_num_rows(mysql_query("SELECT id FROM coupons WHERE zone = '$zone' AND dateExp > CURDATE()"));
if($tL > $total)
{
$tL = (($page - 1) * 20) + ($total % 20);
}
$gotRows = "SELECT * FROM coupons WHERE zone = '$zone' AND dateExp > CURDATE() ORDER BY retailerName LIMIT " . $bL . ", " . $tL;
//list all those rows
$numPages = floor($total/20) + 1;
echo "<p id='results'>" . $total . " result" . $plural . " · Displaying " . $bL . " to " . $tL . " </p>";
echo "</table>";
$pG = 1;
while($pG <= $numPages)
{
if($pG == $page)
{
echo $pG;
}
else
{
echo "<a href='zone?z=" . $zone . "&p=" . $pG . "'>" . $pG . "</a>";
}
if($pG != $numPages)
{
echo "·";
}
$pG = $pG + 1;
}
어떤 도움이 필요합니까?
편집 : 신경 쓰지 마라, 나는 행 문제를 해결했다. 그러나 잘못된 페이지 링크의 문제점은 여전히 계속됩니다. 1 페이지에서 올바르게 작동합니다. "1"은 링크가 아니며 "2"는 링크입니다. 그러나 페이지 2에서는 링크로 "1"만 표시됩니다. "2"가 표시되지 않습니다.
PHP/MySQL 페이지 매김을 처리하는 데있어서 많은 질문이 있습니다. 이미 살펴 봤습니까? – drudge
페이지 매김이 제대로 작동합니다. 페이지 링크 버그를 수정하려고합니다. – AKor