Код (PHP): // Переменная хранит число сообщений выводимых на станице $num = 15; // Извлекаем из URL текущую страницу $page = $_GET['page']; // Определяем общее число сообщений в базе данных $result = mysql_query("SELECT COUNT(*) FROM plitka"); $posts = mysql_result($result, 0, 0); // Находим общее число страниц echo $posts."<br/>"; echo $num."<br/>"; $total = intval(($posts - 1) / $num) + 1; // Определяем начало сообщений для текущей страницы $page = intval($page); // Если значение $page меньше единицы или отрицательно // переходим на первую страницу // А если слишком большое, то переходим на последнюю if(empty($page) or $page < 0) $page = 1; if($page > $total) $page = $total; // Вычисляем начиная к какого номера // следует выводить сообщения $start = $page * $num - $num; // Выбираем $num сообщений начиная с номера $start $result = mysql_query("SELECT * FROM plitka LIMIT $start, $num"); // В цикле переносим результаты запроса в массив $postrow while ( $postrow[] = mysql_fetch_array($result)) //////////////// echo $start."<br>"; for($i = 0; $i < $num; $i++) { echo "<div id=catalog>" .$postrow[$i]['id_plitka']." ".$postrow[$i]['collection']." ".$postrow[$i]['name_plitka']." <img id=plitka src=".$postrow[$i]['url_plitka']."> </div>"; } ///////////////// // Проверяем нужны ли стрелки назад if ($page != 1) $pervpage = '<a href= ./catalog10?page=1><<</a> <a href= ./catalog10?page='. ($page - 1) .'><</a> '; // Проверяем нужны ли стрелки вперед if ($page != $total) $nextpage = ' <a href= ./catalog10?page='. ($page + 1) .'>></a> <a href= ./catalog10?page=' .$total. '>>></a>'; // Находим две ближайшие станицы с обоих краев, если они есть if($page - 2 > 0) $page2left = ' <a href= ./catalog10?page='. ($page - 2) .'>'. ($page - 2) .'</a> | '; if($page - 1 > 0) $page1left = '<a href= ./catalog10?page='. ($page - 1) .'>'. ($page - 1) .'</a> | '; if($page + 2 <= $total) $page2right = ' | <a href= ./catalog10?page='. ($page + 2) .'>'. ($page + 2) .'</a>'; if($page + 1 <= $total) $page1right = ' | <a href= ./catalog10?page='. ($page + 1) .'>'. ($page + 1) .'</a>'; // Вывод меню echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage; ?> Здравствуйте. Помогите, пожалуйста. Сейчас скрпит работает нормально. Выводит 15 значений на страницу. Но если закомментировать строку echo $start."<br>";, выдает 225 результатов на страницу. Пробовал выводить по 4 результата на страницу, выводит 16 результатов. Не пойму в чем косяк, не может же быть в это строке?! Заранее спасибо.
Код (PHP): while ( $postrow = @mysql_fetch_array($result)) { echo "<div id='catalog'> <img class='plitka' src=".$postrow['url_plitka']."><br>".$postrow['collection']."<br>".$postrow['name_plitka']."<br>".$postrow['HxWxT']."<br>Цвет: ".$postrow['color']."<br>Пол: ".$postrow['cover']."<br>Тип плитки: ".$postrow['orient']."<br>Цена: ".$postrow['price']."<br>Произв.: ".$postrow['manufactured']."<br>Поверхность: ".$postrow['type_cover']."<br>Тип помещений: ".$postrow['room']."<br>Износ.: ".$postrow['PEI']."<br>Картинка: ".$postrow['picture']. "</div>"; } Сделал так, всё работает.