<?
//$maxRowsPerPage: Брой редове на страница
$maxRowsPerPage = 4;
//$fruits_r: Масив с тестови данни
$fruits_r = array(
array('name' => 'Bannana' , 'price' => 11),
array('name' => 'Apple' , 'price' => 12),
array('name' => 'Avocado' , 'price' => 13),
array('name' => 'Apricot' , 'price' => 14),
array('name' => 'Cherry' , 'price' => 15),
array('name' => 'Coco Plum', 'price' => 16),
array('name' => 'Melon' , 'price' => 17),
array('name' => 'Grape' , 'price' => 18),
array('name' => 'Lemon' , 'price' => 19),
array('name' => 'Lime' , 'price' => 20),
array('name' => 'Mandarin' , 'price' => 21),
array('name' => 'Papaya' , 'price' => 22),
array('name' => 'Plum' , 'price' => 23),
array('name' => 'Pummelo' , 'price' => 24),
);
$lenArr = count($fruits_r);
//$maxPages: Брой страници
$maxPages = $lenArr / $maxRowsPerPage;
$maxPages = (int)$maxPages;
$maxPages += (($maxPages % $lenArr) > 0 ? 1 : 0);
//$pageN: Номер на страница
$pageN = (int)$_POST['pageN'];
//$_POST['btnPage']: 4 основни бутона за странициране: 'first', 'previous', 'next', 'last'
if($_POST['btnPage'] == 'first') {
$pageN = 0;
} elseif($_POST['btnPage'] == 'next' && ($pageN + 1) < $maxPages) {
$pageN++;
} elseif($_POST['btnPage'] == 'previous' && $pageN > 0) {
$pageN--;
} else if($_POST['btnPage'] == 'last') {
$pageN = $maxPages - 1;
}
$limitFrom = $pageN * $maxRowsPerPage;
$limitTo = $limitFrom + $maxRowsPerPage;
if($limitTo > $lenArr) {
$limitTo = $lenArr;
}
?>
<!DOCTYPE HTML>
<html lang="en-US">
<head><title>Pager</title></head>
<body>
<form method="post" name="formFruits">
<input type="hidden" name="pageN" value="<?=$pageN?>" />
<h1>Page <?=$pageN + 1?></h1>
<hr />
<?
for($index = $limitFrom; $index < $limitTo; $index++) {
?>
<h2><?=$fruits_r[$index]['name']?></h2>
<i>price: £<?=$fruits_r[$index]['price']?></i>
<hr />
<?
}
unset($fruits_r);
if($pageN != 0) {
?>
<input type="submit" name="btnPage" value="first" />
<input type="submit" name="btnPage" value="previous" />
<?
}
if(($pageN + 1) < $maxPages) {
?>
<input type="submit" name="btnPage" value="next" />
<input type="submit" name="btnPage" value="last" />
<?
}
?>
</form>
</body>
</html>
Коментари (6)