Тема: Постраничная навигация
Нашел скрипт по страничной навигации адаптировал его к своим страницам , на странице на которой выводится вся информация из таблицы постраничная навигация работает хорошо, но на страницах где вывод определен условием работает криво..пример кода
Подключение к базе
выбор базы
// количество записей, выводимых на странице
$per_page=7;
// получаем номер страницы
if (isset($_GET['page'])) $page=($_GET['page']-1); else $page=0;
// вычисляем первый оператор для LIMIT
$start=abs($page*$per_page);
$query = "SELECT NAIMENOVANIE_NAIMENOVANIE, NAZVANIE_PRODUKCIYA, OPISANIE_PRODUKCIYA, PHOTO_PRODUKCIYA, PROIZVODITEL_PROIZVODITEL, NAZVANIE_RAZMERYKPB, ID_PRODUKCIYA, naimenovanie.ID_NAIMENOVANIE
FROM naimenovanie, produkciya, proizvoditel, razmerykpb
WHERE produkciya.ID_PROIZVODITEL = proizvoditel.ID_PROIZVODITEL
AND produkciya.ID_NAIMENOVANIE = naimenovanie.ID_NAIMENOVANIE
AND produkciya.ID_RAZMERYKPB = razmerykpb.ID_RAZMERYKPB
AND naimenovanie.ID_NAIMENOVANIE = '".$_REQUEST['id']."'
LIMIT $start,$per_page;";
$result = mysql_query($query);
if (!$result) {
die("невозможно исполнить запрос к бд: <br />". mysql_error());
}
while ($result_row = mysql_fetch_array($result, MYSQL_ASSOC)){
echo "------------------------------------------------------------------------------<br />";
echo '<a href ="photo2.php?id=' . $result_row['ID_PRODUKCIYA'] . '"target = "_blank" ><img src="photo2.php?id=' . $result_row['ID_PRODUKCIYA'] . '" WIDTH=100 HEIGHT=100 align=left></a> <br />';
//echo '<font size="2" align="left">';
echo '<font size="2" align=left>наименование: '.$result_row['NAIMENOVANIE_NAIMENOVANIE'].' </font><br />';
echo '<font size="2" align=left>Название: '.$result_row['NAZVANIE_PRODUKCIYA'].' </font><br />';
echo '<font size="2" align=left>Размеры: '.$result_row['NAZVANIE_RAZMERYKPB'].' </font><br />';
echo '<font size="2" align=left>Производитель: '.$result_row['PROIZVODITEL_PROIZVODITEL'].' </font><br />';
//echo '</font>';
echo "<br />";
echo "<br />";
echo "<br />";
}
// дальше выводим ссылки на страницы:
$q="SELECT count(*) FROM `produkciya` WHERE ID_NAIMENOVANIE= '".$_REQUEST['id']."'"; //если здесь поставить такое условие
//то скрипт понимает сколько записей и сколько доллжно появится страниц в моем случае 2 страницы,первая страница с 7ю записями отображается, а вторая на которой должно быть 3 записи открывается пустой а ссылка на первую проподает.
$res=mysql_query($q);
$row=mysql_fetch_row($res);
$total_rows=$row[0];
$num_pages=ceil($total_rows/$per_page);
echo '--------------------------------------------';
for($i=1;$i<=$num_pages;$i++) {
if ($i-1 == $page) {
echo $i." ";
} else {
echo '<a href="'.$_SERVER['PHP_SELF'].'?page='.$i.'"><em>'.$i."</em></a> ";
}
}
Если ставить просто "SELECT count(*) FROM `produkciya`" то скрипт считает что страниц должно быть 3 а не 2 и все равно при переходе на остальные страницы там пусто, а первая страница пропадает
подскажите пожалуйста в чем может быть проблема.