Реализация функции: "<< предыдущий следующий >>"

  • Автор темы Автор темы Selforg
  • Дата начала Дата начала
Нашел оптимальный для себя вариант!!
Пример:
2 Два
1 Один
5 Пять
7 Семь
3 Три
4 Четыре

во время вывода такой таблицы я в урлы записываю sort_pos - позицию сортировки:
0 2 Два
1 1 Один
2 5 Пять
3 7 Семь
4 3 Три
5 4 Четыре

а затем одним запросом вывожу и вперед и назад и текущую позицию...
limit ".(($_GET["id_page_num"]-1)*25+$_GET["sort_pos"]-1).",3
id_page_num - это номер страницы вывода таблицы....

Пришлось сделать так потому как просто по полю name НЕЛЬЗЯ сортировать, так при сортировки используются и другие поля... можно было использовать только идентификаторы и ВСЁ....
 
я чето не врубился..
но отсортировать можно SORT BY a1, a2, ...aN

или использовать под запросы WHERE = (SELECT ....)
 
сорт бай точно не прокатил бы....

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

там проблема самая со сравнением : не получается сделтать условие name > или <...

ну короче сложно объснить... если оч. сильно хочется... могу привести пример....
 
какие ещё примеры?
задача тривиальная. сто раз обсуждалась. здесь тоже всё давно решено. что ещё не ясно?
 
юзай_мосг();
юзай_поисг();
если_поисг_не_помог
{
goto(1); //кстати, такой конструкции имхо в php не хватает =)
}
 
Гравицапа
iamFake
Да, но для чего вы создавали форум, раз на все вопросы только один ответ: узай поиск, узай мозг ...

Конечно спасибо за подсказку про мозг (мозг всегда поможет), но а поиск по форуму полная лажа, ищет **р знает что и почти всегда находит только один ответ: узай поиск, узай мозг ...
 
EgorGruzdev
в факе на форуме - отлично объяснено, зачем этот форум создан
 
Автор оригинала: EgorGruzdev
Гравицапа
iamFake
Да, но для чего вы создавали форум, раз на все вопросы только один ответ: узай поиск, узай мозг ...

Конечно спасибо за подсказку про мозг (мозг всегда поможет), но а поиск по форуму полная лажа, ищет **р знает что и почти всегда находит только один ответ: узай поиск, узай мозг ...
юзай_моск - не случайно стоит первой =)
юзай_поиск - не случайно не указывает конкретно на ентот форум =)

зы темболее что ента проблема вовсе не проблема, а всего 5 минут мозгования... или даже меньше... нет, определенно меньше =)
 
Кстати, если в базе есть записи с одинаковыми именами (name) и при сортировке НЕ по id, а по name сравнение:
prev = name<{$name}
next = name>{$name}
... будет неправильно работать:
id name
2 | А
1 | Б
7 | В
5 | В
3 | Г
4 | Д
Если текущий id=5 и name=В, то
"prev"= 1,Б (А должен быть id=7 и name=В !!!)
"next"= 3,Г
:) так что все советы тут в теме оказались бесполезными...
И если у кого-то возникла мысль, проверять не больше и меньше, а больше или равно... и меньше или равно
То вообще не будет работать!
 
Avenus
подсказка: условий в проверке может быть больше одного.
 
Сверху