mjc66 Опубликовано 30 августа, 2007 Жалоба Поделиться Опубликовано 30 августа, 2007 Пытаюсь поставить скрипт постраничного вывода товара. Товар на страницу выводится, но меню не видно, а при тестировании на Апаче выдает массу ошибок: 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; ?> Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 30 августа, 2007 Жалоба Поделиться Опубликовано 30 августа, 2007 $result = mysql_fetch_row($result); // Находим общее число страниц $total = intval(($tovary - 1) / $num) + 1; И откуда здесь пришле $tovary... ? $result = mysql_fetch_row($result); // Находим общее число страниц $total = intval(($result[0] - 1) / $num) + 1; Ссылка на комментарий Поделиться на другие сайты Поделиться
mjc66 Опубликовано 30 августа, 2007 Автор Жалоба Поделиться Опубликовано 30 августа, 2007 Исправил, однако меню по идеи должно состоять из ссылок на шесть страниц, а видно только 1 | 2 | 3 Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 30 августа, 2007 Жалоба Поделиться Опубликовано 30 августа, 2007 // Вывод меню echo '<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$page6right; А вы определили только $page1right и $page2right ... у вас 3,4,5 и 6 пустие переменние, вы там ничего не сохраняли Ссылка на комментарий Поделиться на другие сайты Поделиться
mjc66 Опубликовано 30 августа, 2007 Автор Жалоба Поделиться Опубликовано 30 августа, 2007 Переделал таким образом: // Проверяем нужны ли стрелки назад 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 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти