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 :: Постраничная навигация

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Описание: Есть ли альтернативные способы решения?
easy63
Отправлено: 19 Июля, 2012 - 18:59:14
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




Сколько не искал альтернативных способов постраничной навигации, решения на этом форуме и на сторонних ресурсах в том числе и на западных сайтах ничего подходящего не нашел (есть только с LIMIT что меня устраивает, но не устраивает то что далее весь код занимает кучу строк что не удобно и не хотелось бы использовать). Огорчение

Есть ли какое то решение которое не занимало бы по 60 строчек кода и более и было простым? Растерялся

P.S. Есть у кого код с постраничной навигацией как у wordpress-а типа вперед назад если уж нету постраничной навигации как сказано выше?

P.S.S. Кто нибудь объясните как вытащить из глобальной переменной GET только определенные значения. Например обычно мне нужно вытащить не две цифры 1/2 отсюда, а только вторую, или только третью. Что нужно написать $_GET['page'] что бы так было если это возможно. Просто кто-то говорил что это возможно.

(Отредактировано автором: 19 Июля, 2012 - 19:00:23)

 
 Top
OrmaJever Модератор
Отправлено: 19 Июля, 2012 - 19:13:20
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




http://php.su/articles/?cat=exam...les&page=062
Думаю здесь уложились в 60 строк.


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
easy63
Отправлено: 19 Июля, 2012 - 19:52:49
Post Id


Новичок


Покинул форум
Сообщений всего: 24
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




OrmaJever, да я оттуда дал пример что 60 строк, хотелось бы альтернативный способ.
И что насчет двух других вопроса?
 
 Top
Zuldek
Отправлено: 20 Июля, 2012 - 10:52:15
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Какой ещё альтернативный вам нужен способ?
Задачи постраничной навигации решаются либо извлечением только нужных на странице данных, через LIMIT, либо извлечением сразу всего набора данных один раз и показом только нужных данных на "определённой странице". У wordpress-а навигация организуется абсолютно также.
Все остальное в коде, - это визуализация переходов по страницам <- 1, 2, 3 ... и так далее. Её вы можете переписать как угодно, оставив хоть всего две ссылки "вперед-назад".
Из $_GET достаются любые параметры которые были переданы по именам:
передали ?a=1&b=2
Забрали второй параметр $b = $_GET['b'];

(Отредактировано автором: 20 Июля, 2012 - 10:54:50)

 
 Top
PATCH
Отправлено: 20 Июля, 2012 - 11:06:29
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 924
Дата рег-ции: Апр. 2011  


Помог: 22 раз(а)




 
 Top
Zuldek
Отправлено: 20 Июля, 2012 - 11:11:44
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




пуколка которая делает тот же самый запрос
CODE (htmlphp):
скопировать код в буфер обмена
  1. select * from katalog order by id desc LIMIT $start, $num

только без обновления страницы скрывая данные от поисковиков. Крайне не рекомендую реализовывать постраничную навигацию с аяксом дабы не потерять тучу страниц сайта в поисковой выдаче

(Отредактировано автором: 20 Июля, 2012 - 11:14:05)

 
 Top
Faab
Отправлено: 20 Июля, 2012 - 12:55:55
Post Id


Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Zuldek пишет:

только без обновления страницы скрывая данные от поисковиков. Крайне не рекомендую реализовывать постраничную навигацию с аяксом дабы не потерять тучу страниц сайта в поисковой выдаче


А вот можно об этом поподробнее. Ведь обоими способами дата берёться из базы данных. На что орентируются поисковики?
 
 Top
Stierus Супермодератор
Отправлено: 20 Июля, 2012 - 12:59:55
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Боюсь представить, что станет с автором вопроса, когда он узнает, что и лимит считается дурным тоном (запросы к бд, будь они неладны Радость ), а 60 строк несколько разрастаются в реальных проектах Улыбка
 
My status
 Top
Zuldek
Отправлено: 20 Июля, 2012 - 13:05:58
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Faab пишет:
А вот можно об этом поподробнее. Ведь обоими способами дата берёться из базы данных. На что орентируются поисковики?


http://site[dot]com/page1
http://site[dot]com/page2
http://site[dot]com/page3
разные страницы

http://site[dot]com#par=1
http://site[dot]com#par=2
http://site[dot]com#par=3
одна страница.

Эта тема размусолена и разжевана уже на всех seo-форумах.
Все сводится к тому, что если вы делаете постраничную навигацию на ajax, то, если индексация данных критично важна, вы должны дублировать её навигацией без ajax с отдачей разных страниц с разным контентом.

(Отредактировано автором: 20 Июля, 2012 - 13:18:02)

 
 Top
Faab
Отправлено: 20 Июля, 2012 - 13:21:24
Post Id


Гость


Покинул форум
Сообщений всего: 80
Дата рег-ции: Апр. 2012  


Помог: 0 раз(а)




Мда... неприятная новость.

Но это если весь сайт построить на одной странице. А если оглавление сделать на аjax а с него выходить на сами страницы, то в принципе, тогда всё не страшно. На самих страницах можно поставить, наверное, ещё один вьювер, если это конечно так нужно = индексация от этого не сильно обеднеет.
 
 Top
tuareg
Отправлено: 20 Июля, 2012 - 13:21:47
Post Id


Участник


Покинул форум
Сообщений всего: 1234
Дата рег-ции: Июнь 2010  


Помог: 69 раз(а)




Zuldek пишет:

Эта тема размусолена и разжевана уже на всех seo-форумах.
Все сводится к тому, что если вы делаете постраничную навигацию на ajax, то, если индексация данных критично важна, вы должны дублировать её навигацией без ajax с отдачей разных страниц с разным контентом.

А кто Вам мешает делать ссылки вида _http://site.com/page1 и т.д?
 
 Top
armancho7777777 Супермодератор
Отправлено: 20 Июля, 2012 - 14:21:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Stierus пишет:
лимит считается дурным тоном

А как быть?
В смысле, надо кешировать и отдавать контент из кеша?
Или ...
 
 Top
Stierus Супермодератор
Отправлено: 20 Июля, 2012 - 15:40:15
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




armancho7777777, я с трудом понимаю, когда ты тролишь, а когда реально спрашиваешь Улыбка
 
My status
 Top
armancho7777777 Супермодератор
Отправлено: 20 Июля, 2012 - 15:41:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Stierus, достатосно обратить внимание на то, кому я задаю вопрос.
 
 Top
Stierus Супермодератор
Отправлено: 20 Июля, 2012 - 15:49:01
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




Каждый выкручивается как может, кто-то на примари ключ ориентируется и из него рассчитывает (когда нет физических удалений из бд, а ток статусы меняются), кто-то ограничивает число страниц, кто-то делает текущую +- 3 страницы и тд. Смотря по ситуации. Оффсет на больших данных - не вариант и его никто не использует ... я видел извращения с кешированием и выведением в отдельное поле
(Добавление)
Но это на больших данных, с записями в десятки - сотни тысяч нечего и морочиться, когда начинаются лямы - тут надо уже импровизировать Улыбка
 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB