Pagination trouble !

Maxxis

Новичок
Доброе время суток,пишу пагинатор по примеру,
Выводит по 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>
 

Maxxis

Новичок
У меня нормальный пагинатор,он полностью работает,просто выбивает весь тотал ,хочу узнать как это можно исправить ?
 

Bardak

Новичок
Отладка должна быть у вас по такому пути:
1. что то выводится если в массиве $PAGES есть элементы
2. они есть только еслии $num_pages !=0
3. $num_page != 0 если ceil($total_rows/$per_page) != 0
4. $total_rows это результат запроса "SELECT count(*) FROM `auto`.`1` WHERE 1".$build_res

Вот а теперь используя var_dump() можете проследить на каком из этих этапов у вас ошибка.
 
Сверху