Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Скрипт постраничного вывода из БД


mjc66

Рекомендуемые сообщения

Заточил скрипт постраничного вывода по запросу из БД для определенной группы товара. К нему также добавлен скрипт панели постраничной навигации. Всего для этой группы товара предполагается 6-ть страниц с 50-ю выводимыми товарными позициями. Для первой страницы все хорошо-товар выводится правильно первые 50-т наименований, да и панель навигации отображается правильно. А вот с остальными просто беда- на все оставшиеся 5-ть страниц выводятся одни и те же первые 50-т наименований. Не клонировать же в самом деле скрипт 6-ть раз изменяя LIMIT 0,50 LIMIT 50,50... LIMIT 300,50. Вот скрипт:

<?php   // Устанавливаем соединение с базой данных   include "config_mysql.php"; //переменная $group_production = (isset($_GET['group_production']))?$_GET['group_production']:'ГСО(Государственные Стандартные Образцы)'; ?> <style>   .cell_1{background:99FFCC}	.cell_2{background:FFFFCC}	</style>  <table border='1' cellspacing='1' cellpadding='1' class='3'>  <tr>  	<td class='3' align='center'>  		<b>Наименование товара</b>  	</td>  </tr> <?php   // Переменная хранит число товарных позиций выводимых на странице   $num = 50;   // Извлекаем из URL текущую страницу   $page = (isset($_GET['page']));   // Определяем общее число товарных позиций в базе данных   $result = mysql_query("SELECT COUNT(*) FROM tovary");   $result = mysql_fetch_row($result);   // Находим общее число страниц   $total = intval(($result[0] - 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 tovary WHERE group_production = 'ГСО(Государственные Стандартные Образцы)' LIMIT $start, $num");   // В цикле переносим результаты запроса в массив $i = 0;   while ($arResult = mysql_fetch_array($result)):  $i++;  ?>  <tr class='cell_<?=($i%2)+1;?>'>  	<td>  		<?=$arResult['name'];?>  	</td> </tr>  <?endwhile;?> </table> 

Что и где нужно исправить?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...