Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Постраничная навигация
Покинул форум
Сообщений всего: 24
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
Сколько не искал альтернативных способов постраничной навигации, решения на этом форуме и на сторонних ресурсах в том числе и на западных сайтах ничего подходящего не нашел (есть только с LIMIT что меня устраивает, но не устраивает то что далее весь код занимает кучу строк что не удобно и не хотелось бы использовать).
Есть ли какое то решение которое не занимало бы по 60 строчек кода и более и было простым?
P.S. Есть у кого код с постраничной навигацией как у wordpress-а типа вперед назад если уж нету постраничной навигации как сказано выше?
P.S.S. Кто нибудь объясните как вытащить из глобальной переменной GET только определенные значения. Например обычно мне нужно вытащить не две цифры 1/2 отсюда, а только вторую, или только третью. Что нужно написать $_GET['page'] что бы так было если это возможно. Просто кто-то говорил что это возможно.
----- Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
easy63
Отправлено: 19 Июля, 2012 - 19:52:49
Новичок
Покинул форум
Сообщений всего: 24
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
OrmaJever, да я оттуда дал пример что 60 строк, хотелось бы альтернативный способ.
И что насчет двух других вопроса?
Zuldek
Отправлено: 20 Июля, 2012 - 10:52:15
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Какой ещё альтернативный вам нужен способ?
Задачи постраничной навигации решаются либо извлечением только нужных на странице данных, через LIMIT, либо извлечением сразу всего набора данных один раз и показом только нужных данных на "определённой странице". У wordpress-а навигация организуется абсолютно также.
Все остальное в коде, - это визуализация переходов по страницам <- 1, 2, 3 ... и так далее. Её вы можете переписать как угодно, оставив хоть всего две ссылки "вперед-назад".
Из $_GET достаются любые параметры которые были переданы по именам:
передали ?a=1&b=2
Забрали второй параметр $b = $_GET['b'];
select * from katalog order by id desc LIMIT $start,$num
только без обновления страницы скрывая данные от поисковиков. Крайне не рекомендую реализовывать постраничную навигацию с аяксом дабы не потерять тучу страниц сайта в поисковой выдаче
Покинул форум
Сообщений всего: 80
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
Zuldek пишет:
только без обновления страницы скрывая данные от поисковиков. Крайне не рекомендую реализовывать постраничную навигацию с аяксом дабы не потерять тучу страниц сайта в поисковой выдаче
А вот можно об этом поподробнее. Ведь обоими способами дата берёться из базы данных. На что орентируются поисковики?
Stierus
Отправлено: 20 Июля, 2012 - 12:59:55
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Боюсь представить, что станет с автором вопроса, когда он узнает, что и лимит считается дурным тоном (запросы к бд, будь они неладны ), а 60 строк несколько разрастаются в реальных проектах
Zuldek
Отправлено: 20 Июля, 2012 - 13:05:58
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Faab пишет:
А вот можно об этом поподробнее. Ведь обоими способами дата берёться из базы данных. На что орентируются поисковики?
Эта тема размусолена и разжевана уже на всех seo-форумах.
Все сводится к тому, что если вы делаете постраничную навигацию на ajax, то, если индексация данных критично важна, вы должны дублировать её навигацией без ajax с отдачей разных страниц с разным контентом.
Покинул форум
Сообщений всего: 80
Дата рег-ции: Апр. 2012
Помог: 0 раз(а)
Мда... неприятная новость.
Но это если весь сайт построить на одной странице. А если оглавление сделать на аjax а с него выходить на сами страницы, то в принципе, тогда всё не страшно. На самих страницах можно поставить, наверное, ещё один вьювер, если это конечно так нужно = индексация от этого не сильно обеднеет.
tuareg
Отправлено: 20 Июля, 2012 - 13:21:47
Участник
Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010
Помог: 69 раз(а)
Zuldek пишет:
Эта тема размусолена и разжевана уже на всех seo-форумах.
Все сводится к тому, что если вы делаете постраничную навигацию на ajax, то, если индексация данных критично важна, вы должны дублировать её навигацией без ajax с отдачей разных страниц с разным контентом.
А кто Вам мешает делать ссылки вида _http://site.com/page1 и т.д?
armancho7777777
Отправлено: 20 Июля, 2012 - 14:21:11
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Stierus пишет:
лимит считается дурным тоном
А как быть?
В смысле, надо кешировать и отдавать контент из кеша?
Или ...
Stierus
Отправлено: 20 Июля, 2012 - 15:40:15
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
armancho7777777, я с трудом понимаю, когда ты тролишь, а когда реально спрашиваешь
armancho7777777
Отправлено: 20 Июля, 2012 - 15:41:39
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Stierus, достатосно обратить внимание на то, кому я задаю вопрос.
Stierus
Отправлено: 20 Июля, 2012 - 15:49:01
Рекордсмен по количеству сообщений за 7 дней
Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008 Откуда: Москваль
Помог: 52 раз(а)
Каждый выкручивается как может, кто-то на примари ключ ориентируется и из него рассчитывает (когда нет физических удалений из бд, а ток статусы меняются), кто-то ограничивает число страниц, кто-то делает текущую +- 3 страницы и тд. Смотря по ситуации. Оффсет на больших данных - не вариант и его никто не использует ... я видел извращения с кешированием и выведением в отдельное поле (Добавление)
Но это на больших данных, с записями в десятки - сотни тысяч нечего и морочиться, когда начинаются лямы - тут надо уже импровизировать
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.