|
|
|
|
|
для: Trianon
(03.09.2007 в 22:26)
| | Спасибо Trianon, уже догадался! | |
|
|
|
|
|
|
|
для: mjc66
(31.08.2007 в 20:48)
| | строку $page = (isset($_GET['page']));
нужно исправить на
$page = isset($_GET['page']) ? $_GET['page']) : 1;
|
либо на | |
|
|
|
|
|
|
| Заточил скрипт постраничного вывода по запросу из БД для определенной группы товара. К нему также добавлен скрипт панели постраничной навигации. Всего для этой группы товара предполагается 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>
|
Помогите исправить! | |
|
|
|
|