За последние 24 часа нас посетили 16862 программиста и 1298 роботов. Сейчас ищут 1432 программиста ...

Переключатели

Тема в разделе "PHP и базы данных", создана пользователем RelictX, 5 ноя 2008.

Статус темы:
Закрыта.
  1. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    Всем превед! :)
    Столкнулся с одной проблемкой, и не в состоянии решить ее самостоятельно. А суть в следующем:
    Есть база, вывожу ее на форму(несколько столбцов). Есть сортировка по ASC и DESC. Есть переключатели страниц(1,2,3...). Насяльника сказал сделать так, чтобы сортировка сохранялась при переключении страниц. Допустим сортируем по ASC, переключили страницу, сортировка сохранилась по ASC.
    Все вроде бы просто, кинул ссылку на перключатели:

    PHP:
    1. <?php
    2. echo '<a href="browse.php?field='.$field.'&amp;sort='.$sort.'">';
    3. ?>
    Тестю на локалхосте, все работает, сортировка сохраняется, все как надо. Кидаю на удаленный сервер и... страницы не переключаются вообще, выходит по умолчанию заданная 1-я страница. В чем же загвоздка? :shock:
     
  2. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  3. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    Спасибо, инфа полезная, но измение на GET:

    PHP:
    1.  <?php
    2.  echo '<a href="browse.php?field='.$_GET['field'].'&amp;sort='.$_GET['sort'].'">';
    3.  ?>
    результатов не принесло, страницы не переключаются, хотя данные field и sort передаются, дело не в передаче переменных, а в чем то другом.
     
  4. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    что значит "страницы не переключаются"? как ссылка в html-коде в итоге выглядит?
     
  5. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    Тестю на локалхосте, жму на название столбца, идет сортировка по ASC. Далее жму на 2-ю, 3-ю и т.д. страницу. Переходит, показывает следующий десяток данных, отсортированных по ASC. То что нужно. )

    Загвоздка в том что, при загрузке файла на удаленный сервер и такой же проверке на сайте, страницы не переключаются. При нажатии на 2-ю, 3-ю и .тд. страницы, ничего не происходит. Показывается только 1-я страница.

    Ссылка выглядит нормально. $field тот, который столбец и выбрали, $sort тоже, либо ASC, либо DESC.
     
  6. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    Я надеюсь, что кто нибудь подскажет, что может быть не так. Приведу на всякий случай первоначальный код постраничного вывода(не учитывающий сортировки и работающий как на локалхосте, так и на сайте):

    PHP:
    1. <?php
    2.                 echo '<input name="page_i" id="page_i" type="hidden" value="'.$_SESSION['page_i'].'">';
    3.                 echo '<input name="pagenumber" id="pagenumber" type="hidden" value="'.$_SESSION['pagenumber'].'">';
    4.                 if ($_SESSION['page_i']-$count_on_page<1){
    5.                     echo '&middot;<span>&laquo;</span>';
    6.                 }else{
    7.  
    8.                        echo '&middot;<a href="#" onclick="nextPageList(\''.($_SESSION['page_i']-$count_on_page).'\');">&laquo;</a>';
    9.  
    10.  
    11.  
    12.                 }
    13.  
    14.                 for ($i=$_SESSION['page_i'];(($i*$page_size)<=$rows_count)&&
    15.                                                 ($i<($_SESSION['page_i']+$count_on_page));$i++)
    16.                 {
    17.                      echo '&middot;';
    18.                      if ($i!=$_SESSION['pagenumber']){
    19.  
    20.                       echo '<a href="#" onclick="gotoPage('.$i.');">'.$i.'</a>';
    21.  
    22.                         }
    23.                      else{
    24.                         echo '<span class="batchCurrent">'.$i.'</span>';
    25.                         }
    26.                 }
    27.  
    28.                    if (($rows_count>($i-1)*$page_size)&&($i<($_SESSION['page_i']+$count_on_page)))
    29.                    {
    30.                       echo '&middot;';
    31.                      if ($i!=$_SESSION['pagenumber']){
    32.  
    33.  
    34.                        echo '<a href="#" onclick="gotoPage('.$i.');">'.$i.'</a>';
    35.  
    36.  
    37.  
    38.  
    39.                         }
    40.                      else{
    41.                         echo '<span class="batchCurrent">'.$i.'</span>';
    42.                         }
    43.                 }
    44.                 if (($_SESSION['page_i']+$count_on_page-1)*$page_size>$rows_count){
    45.                     echo '&middot;<span>&raquo;</span>';
    46.                 }else{
    47.  
    48.  
    49.                        echo '&middot;<a href="#" onclick="nextPageList(\''.($_SESSION['page_i']+$count_on_page).'\');">&raquo;</a>';
    50.  
    51.  
    52.  
    53.  
    54.                 }
    55.                 ?>
     
  7. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Когда ты переходишь по ссылке, как именно скрипт должен догадываться что страницу сменить надо? Чем ты пишешь номер страницы в hidden и когда? Ссылка честно передает field и sort но больше она ничего не передает. Добавь параметр page (или skip) и обрабатывай его в скрипте.
     
  8. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    А как же [pagi i] и [pagenumber] в коде сверху? Осуществлена же выборка по страницам. Извени, не совсем понял, что ты хотел сказать. У меня на локалхосте все работает, и на сайте тоже. Просто на сайте не осуществляется переход на другую страницу, когда я меняю href с # на что то другое. А на локалхосте пашет все замечательно. :?:
     
  9. Frozen

    Frozen Активный пользователь

    С нами с:
    20 окт 2008
    Сообщения:
    540
    Симпатии:
    0
    Адрес:
    Москва
    session_start() ?

    зачем хранить номер страницы в сессии?
    что такое $_SESSION['page_i'] ?
    зачем выкладывать исхоник предыдущего, работающего скрипта?
    смотрел ли ты вывод print_r($_GET), print_r($_SESSION)?
    Какой echo выводит не то?
    разбирался ли ты почему он это делает?
    может у него есть значения по умолчанию?
     
  10. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    Как он попадает в скрипт, этот параметр? Ты не сабмитишь форму, ты переходишь по ссылке. У тебя в ссылке до сих пор стоит onclick? Как тогда выглядит функция которая на onclick вызывается?
     
  11. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    error_reporting(10); вначале скрипта.
     
  12. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    Господа, я могу конечно весь код выложить, но надо ли? )
    Все работает. Смысл таков, что я выбираю значение из списка, оно переходит через сессию в эту часть формы, так как это лишь фрагмент файла php.

    Я лишь пытался услышать от вас ответ на мой, изложенный выше, вопрос. Почему на локалхосте все правильно работает, а на серваке нет? Переменные передаются, это мы уже выяснили. Что же может быть не так, если код пашет на локалке, значит он правильный ведь по идее. Спасибо!
     
  13. karakh

    karakh Активный пользователь

    С нами с:
    11 дек 2007
    Сообщения:
    1.344
    Симпатии:
    0
    register_globals?
     
  14. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    Я тоже так сначала подумал, но в начале топика вроде писал, что пробывал GET применять. Да и переменные ведь передаются, $field и $sort... Может я что не правильно понял, новичок я еще))
     
  15. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
  16. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    Неужели ни у кого нет ни каких мыслей по данному поводу? :shock:
     
  17. QQQ

    QQQ Активный пользователь

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    RelictX
    ты идиот?
    почему я када учился не задавал пАдобных вопросов?
     
  18. QQQ

    QQQ Активный пользователь

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    да не чел.. мож ты и не идиот.. это типа погоречился..

    но перед тем, как зарабатывать веб-php-прогером может стоит хотя бы гугл поюзать временами? детские игры? сам ты - детские игры :D дай адонай илохим твоему работодателю врубиться, что ты - пиздабол, и дел с тобой лучше не иметь!!!

    в голове
     
  19. QQQ

    QQQ Активный пользователь

    С нами с:
    21 ноя 2007
    Сообщения:
    538
    Симпатии:
    0
    есть. повод идиотский.
    повод не подходящий.
     
  20. Dagdamor

    Dagdamor Активный пользователь

    С нами с:
    4 фев 2006
    Сообщения:
    2.095
    Симпатии:
    1
    Адрес:
    Барнаул
    QQQ
    Слабо было не 3 сообщения подряд написать, а 30.
    И во всех так же топикстартера поопускать, как в этих трех.
    "почему я када учился не задавал пАдобных вопросов?" - уверен, задавал и не такие. Просто забыл...
     
  21. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    QQQ Ты не думал, что я только типа практикант пока что и начинаю как самоучка в этом деле? Гугл юзал, не помогло. Везде ссылки на register_globals
    У меня же случай совершенно иной. Раз уж никто не в курсе, сам разберусь, Перепишу код по другому. И грубить не надо.
     
  22. RelictX

    RelictX Активный пользователь

    С нами с:
    17 окт 2008
    Сообщения:
    58
    Симпатии:
    0
    Адрес:
    Казань
    Блин короче закрывайте тему, все равно никто ничего не знает.
    К тому же теперь вообще какая то мистика.
    1) У меня есть безлимитка и обычный инет помегабайтный. Подключаюсь к обычному - все работает, переключаются страницы. Подключаюсь к безлимитке, не пашет.
    2) С FireFox работает все, с Оперой и Иксплорером опять же не переключаются страницы.
    Короче все придется передлывать. Всем спасибо
     
  23. dAllonE

    dAllonE Guest

    Воистину.
     
Статус темы:
Закрыта.