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

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


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

Пытаюсь поставить скрипт постраничного вывода товара. Товар на страницу выводится, но меню не видно, а при тестировании на Апаче выдает массу ошибок:

Notice: Undefined index: group_production in C:\apache\test.ru\www\State_Standard_Samples.php on line 304

";

";

Notice: Undefined index: page in C:\apache\test.ru\www\State_Standard_Samples.php on line 323

Notice: Undefined variable: tovary in C:\apache\test.ru\www\State_Standard_Samples.php on line 328

Notice: Undefined variable: i in C:\apache\test.ru\www\State_Standard_Samples.php on line 343

Notice: Undefined variable: page1right in C:\apache\test.ru\www\State_Standard_Samples.php on line 364

Notice: Undefined variable: page2right in C:\apache\test.ru\www\State_Standard_Samples.php on line 364

Notice: Undefined variable: page3right in C:\apache\test.ru\www\State_Standard_Samples.php on line 364

Notice: Undefined variable: page4right in C:\apache\test.ru\www\State_Standard_Samples.php on line 364

Notice: Undefined variable: page5right in C:\apache\test.ru\www\State_Standard_Samples.php on line 364

Notice: Undefined variable: page6right in C:\apache\test.ru\www\State_Standard_Samples.php on line 364

Я в php чайник, хотя смысл этих ошибок мне понятен, но знаний по их исправлению мне явно не хватает, поэтому требуется квалифицированная помощь.У меня в данной группе товара 6-ть страниц. Вот пример моего скрипта для вывода тавара на 1-ю страницу:

<?php   // Устанавливаем соединение с базой данных   include "config_mysql.php"; //переменная $group_production = ($_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 = $_GET['page'];   // Определяем общее число товарных позиций в базе данных   $result = mysql_query("SELECT COUNT(*) FROM tovary");   $result = mysql_fetch_row($result);   // Находим общее число страниц   $total = intval(($tovary - 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");   // В цикле переносим результаты запроса в массив   while ($arResult = mysql_fetch_array($result)):  $i++;  ?>  <tr class='cell_<?=($i%2)+1;?>'>  	<td>  		<?=$arResult['name'];?>  	</td>  </tr>  <?endwhile;?> </table> <? // Проверяем нужны ли стрелки назад   if ($page != 1) $pervpage = '<a href= www.el-eko.ru/State_Standard_Samples.php?page=1></a>';   // Проверяем нужны ли стрелки вперед   if ($page != $total) $nextpage = ' <a href= www.el-eko.ru/State_Standard_Samples2.php?page=2'. ($page + 1) .'>></a> 							   <a href= www.el-eko.ru/State_Standard_Samples3.php?page=3'. ($page + 2) .'>></a> 							   <a href= www.el-eko.ru/State_Standard_Samples4.php?page=4'. ($page + 3) .'>></a> 							   <a href= www.el-eko.ru/State_Standard_Samples5.php?page=5'. ($page + 4) .'>></a> 							   <a href= www.el-eko.ru/State_Standard_Samples6.php?page=6'. $total .'</a>';   // Находим две ближайшие страницы с обоих краев, если они есть  if($page + 2 <= $total) $page2right = ' | <a href= www.el-eko.ru/State_Standard_Samples3.php?page=3'. ($page + 2) .'>'. ($page + 2) .'</a>';   if($page + 1 <= $total) $page1right = ' | <a href= www.el-eko.ru/State_Standard_Samples2.php?page=2'. ($page + 1) .'>'. ($page + 1) .'</a>';  // Вывод меню   echo '<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$page6right;   ?>
Ссылка на комментарий
Поделиться на другие сайты

$result = mysql_fetch_row($result);  // Находим общее число страниц  $total = intval(($tovary - 1) / $num) + 1;  

И откуда здесь пришле $tovary... ?

$result = mysql_fetch_row($result);  // Находим общее число страниц  $total = intval(($result[0] - 1) / $num) + 1;  
Ссылка на комментарий
Поделиться на другие сайты

Исправил, однако меню по идеи должно состоять из ссылок на шесть страниц, а видно только 1 | 2 | 3

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

// Вывод меню  echo '<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$page6right;  

А вы определили только $page1right и $page2right ... у вас 3,4,5 и 6 пустие переменние, вы там ничего не сохраняли

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

Переделал таким образом:

 // Проверяем нужны ли стрелки назад  if ($page != 1) $pervpage = '<a href= www.el-eko.ru/State_Standard_Samples.php?page=50></a>';  // Проверяем нужны ли стрелки вперед  if ($page != $total) $nextpage = ' <a href= www.el-eko.ru/State_Standard_Samples2.php?page=2'. ($page + 1) .'>></a>							   <a href= www.el-eko.ru/State_Standard_Samples3.php?page=3'. ($page + 2) .'>></a>							   <a href= www.el-eko.ru/State_Standard_Samples4.php?page=4'. ($page + 3) .'>></a>							   <a href= www.el-eko.ru/State_Standard_Samples5.php?page=5'. ($page + 4) .'>></a>							   <a href= www.el-eko.ru/State_Standard_Samples6.php?page=6'. $total .'</a>';// Находим все страницыif($page + 5 <= $total) $page6right = ' | <a href= www.el-eko.ru/State_Standard_Samples6.php?page=6'. $total .'>'. $total .'</a>';if($page + 4 <= $total) $page5right = ' | <a href= www.el-eko.ru/State_Standard_Samples5.php?page=5'. ($page + 4) .'>'. ($page + 4) .'</a>';  if($page + 3 <= $total) $page4right = ' | <a href= www.el-eko.ru/State_Standard_Samples4.php?page=4'. ($page + 3) .'>'. ($page + 3) .'</a>';								   if($page + 2 <= $total) $page3right = ' | <a href= www.el-eko.ru/State_Standard_Samples3.php?page=3'. ($page + 2) .'>'. ($page + 2) .'</a>';  if($page + 1 <= $total) $page2right = ' | <a href= www.el-eko.ru/State_Standard_Samples2.php?page=2'. ($page + 1) .'>'. ($page + 1) .'</a>';

Апач пишет:

Notice: Undefined variable: page1right in C:\apache\test.ru\www\State_Standard_Samples.php on line 322

Меню же выглядит так:

1 | 2 | 3 | 4 | 5 | 51 (чего за 51 ?)

Но самое интересное, что при наведении на ссылку высвечивает следующее:

www.el-eko.ru/State_Standard_Samples2.php?page22

www.el-eko.ru/State_Standard_Samples3.php?page33

www.el-eko.ru/State_Standard_Samples3.php?page44

www.el-eko.ru/State_Standard_Samples5.php?page55

www.el-eko.ru/State_Standard_Samples6.php?page651

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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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