Всем превед! Столкнулся с одной проблемкой, и не в состоянии решить ее самостоятельно. А суть в следующем: Есть база, вывожу ее на форму(несколько столбцов). Есть сортировка по ASC и DESC. Есть переключатели страниц(1,2,3...). Насяльника сказал сделать так, чтобы сортировка сохранялась при переключении страниц. Допустим сортируем по ASC, переключили страницу, сортировка сохранилась по ASC. Все вроде бы просто, кинул ссылку на перключатели: PHP: <?php echo '<a href="browse.php?field='.$field.'&sort='.$sort.'">'; ?> Тестю на локалхосте, все работает, сортировка сохраняется, все как надо. Кидаю на удаленный сервер и... страницы не переключаются вообще, выходит по умолчанию заданная 1-я страница. В чем же загвоздка? :shock:
Спасибо, инфа полезная, но измение на GET: PHP: <?php echo '<a href="browse.php?field='.$_GET['field'].'&sort='.$_GET['sort'].'">'; ?> результатов не принесло, страницы не переключаются, хотя данные field и sort передаются, дело не в передаче переменных, а в чем то другом.
Тестю на локалхосте, жму на название столбца, идет сортировка по ASC. Далее жму на 2-ю, 3-ю и т.д. страницу. Переходит, показывает следующий десяток данных, отсортированных по ASC. То что нужно. ) Загвоздка в том что, при загрузке файла на удаленный сервер и такой же проверке на сайте, страницы не переключаются. При нажатии на 2-ю, 3-ю и .тд. страницы, ничего не происходит. Показывается только 1-я страница. Ссылка выглядит нормально. $field тот, который столбец и выбрали, $sort тоже, либо ASC, либо DESC.
Я надеюсь, что кто нибудь подскажет, что может быть не так. Приведу на всякий случай первоначальный код постраничного вывода(не учитывающий сортировки и работающий как на локалхосте, так и на сайте): PHP: <?php echo '<input name="page_i" id="page_i" type="hidden" value="'.$_SESSION['page_i'].'">'; echo '<input name="pagenumber" id="pagenumber" type="hidden" value="'.$_SESSION['pagenumber'].'">'; if ($_SESSION['page_i']-$count_on_page<1){ echo '·<span>«</span>'; }else{ echo '·<a href="#" onclick="nextPageList(\''.($_SESSION['page_i']-$count_on_page).'\');">«</a>'; } for ($i=$_SESSION['page_i'];(($i*$page_size)<=$rows_count)&& ($i<($_SESSION['page_i']+$count_on_page));$i++) { echo '·'; if ($i!=$_SESSION['pagenumber']){ echo '<a href="#" onclick="gotoPage('.$i.');">'.$i.'</a>'; } else{ echo '<span class="batchCurrent">'.$i.'</span>'; } } if (($rows_count>($i-1)*$page_size)&&($i<($_SESSION['page_i']+$count_on_page))) { echo '·'; if ($i!=$_SESSION['pagenumber']){ echo '<a href="#" onclick="gotoPage('.$i.');">'.$i.'</a>'; } else{ echo '<span class="batchCurrent">'.$i.'</span>'; } } if (($_SESSION['page_i']+$count_on_page-1)*$page_size>$rows_count){ echo '·<span>»</span>'; }else{ echo '·<a href="#" onclick="nextPageList(\''.($_SESSION['page_i']+$count_on_page).'\');">»</a>'; } ?>
Когда ты переходишь по ссылке, как именно скрипт должен догадываться что страницу сменить надо? Чем ты пишешь номер страницы в hidden и когда? Ссылка честно передает field и sort но больше она ничего не передает. Добавь параметр page (или skip) и обрабатывай его в скрипте.
А как же [pagi i] и [pagenumber] в коде сверху? Осуществлена же выборка по страницам. Извени, не совсем понял, что ты хотел сказать. У меня на локалхосте все работает, и на сайте тоже. Просто на сайте не осуществляется переход на другую страницу, когда я меняю href с # на что то другое. А на локалхосте пашет все замечательно. :?:
session_start() ? зачем хранить номер страницы в сессии? что такое $_SESSION['page_i'] ? зачем выкладывать исхоник предыдущего, работающего скрипта? смотрел ли ты вывод print_r($_GET), print_r($_SESSION)? Какой echo выводит не то? разбирался ли ты почему он это делает? может у него есть значения по умолчанию?
Как он попадает в скрипт, этот параметр? Ты не сабмитишь форму, ты переходишь по ссылке. У тебя в ссылке до сих пор стоит onclick? Как тогда выглядит функция которая на onclick вызывается?
Господа, я могу конечно весь код выложить, но надо ли? ) Все работает. Смысл таков, что я выбираю значение из списка, оно переходит через сессию в эту часть формы, так как это лишь фрагмент файла php. Я лишь пытался услышать от вас ответ на мой, изложенный выше, вопрос. Почему на локалхосте все правильно работает, а на серваке нет? Переменные передаются, это мы уже выяснили. Что же может быть не так, если код пашет на локалке, значит он правильный ведь по идее. Спасибо!
Я тоже так сначала подумал, но в начале топика вроде писал, что пробывал GET применять. Да и переменные ведь передаются, $field и $sort... Может я что не правильно понял, новичок я еще))
да не чел.. мож ты и не идиот.. это типа погоречился.. но перед тем, как зарабатывать веб-php-прогером может стоит хотя бы гугл поюзать временами? детские игры? сам ты - детские игры дай адонай илохим твоему работодателю врубиться, что ты - пиздабол, и дел с тобой лучше не иметь!!! в голове
QQQ Слабо было не 3 сообщения подряд написать, а 30. И во всех так же топикстартера поопускать, как в этих трех. "почему я када учился не задавал пАдобных вопросов?" - уверен, задавал и не такие. Просто забыл...
QQQ Ты не думал, что я только типа практикант пока что и начинаю как самоучка в этом деле? Гугл юзал, не помогло. Везде ссылки на register_globals У меня же случай совершенно иной. Раз уж никто не в курсе, сам разберусь, Перепишу код по другому. И грубить не надо.
Блин короче закрывайте тему, все равно никто ничего не знает. К тому же теперь вообще какая то мистика. 1) У меня есть безлимитка и обычный инет помегабайтный. Подключаюсь к обычному - все работает, переключаются страницы. Подключаюсь к безлимитке, не пашет. 2) С FireFox работает все, с Оперой и Иксплорером опять же не переключаются страницы. Короче все придется передлывать. Всем спасибо