Maxxis
Новичок
Доброе время суток,пишу пагинатор по примеру,
Выводит по 10 элементов на страницу ,допустим всего элементов в базе оказалось 4 и по идее ,кнопок перехода на другую страницу по типу "?page= $i" не должно быть ,а пагинатор выводит весь коунт,это можно исправить и все ли я правильно делаю? Заранее спасибо!
Вот код:
Выводит по 10 элементов на страницу ,допустим всего элементов в базе оказалось 4 и по идее ,кнопок перехода на другую страницу по типу "?page= $i" не должно быть ,а пагинатор выводит весь коунт,это можно исправить и все ли я правильно делаю? Заранее спасибо!
Вот код:
PHP:
<?
$per_page=10;
$sql=@mysql_query("SELECT count(*) FROM `auto`.`1` WHERE 1".$build_res);
$num=@mysql_fetch_row($sql);
$total_rows=$num[0];
//дальше получаем номер страницы и значение для лимита
if (isset($_GET['page'])) $CUR_PAGE=($_GET['page']); else $CUR_PAGE=1;
$start=abs(($CUR_PAGE-1)*$per_page);
$query="SELECT * FROM `auto`.`1` WHERE 1 ".$build_query." ORDER BY mark DESC LIMIT $start,$per_page" ;
if($build_query ==""){
echo "Пожалуйста,введите параметры поиска";
exit();}
$sql=@mysql_query($query);
$num=@mysql_num_rows($sql);
<div id="content" ></div>
<table width="800px" style="border-style:none">
<tr><td>
<ul id="pagination">
while ($num=mysql_fetch_array($sql)) $DATA[++$start]=$num;
//Show page links
$uri=strtok($_SERVER['REQUEST_URI'],"?")."?";
if (count($_GET)) {
foreach ($_GET as $k => $v) {
if ($k != "page") $uri.=urlencode($k)."=".urlencode($v)."&";
}
}
$num_pages=ceil($total_rows/$per_page);
for($i=1;$i<=$num_pages;$i++) $PAGES[$i]=$uri.'page='.$i;
Всего обьявлений: <b><?=$total_rows?></b><br><br>
<? foreach ($DATA as $i => $num): ?>
<?=$i?>. <a href="?id=<?=$num['id']?>"><?=$num['title']?></a><br>
<? endforeach ?>
<br>
Страницы:
<? foreach ($PAGES as $i => $link): ?>
<? if ($i == $CUR_PAGE): ?>
<b><li class=clicked ><?=$i?></li></b>
<? else: ?>
<li><a href="<?=$link?>"><?=$i?></a></li>
<? endif ?>
<? endforeach ?>
</ul>
</td></tr></table>