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

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 НЕЛЬЗЯ сортировать, так при сортировки используются и другие поля... можно было использовать только идентификаторы и ВСЁ....
 

iNTa

Новичок
я чето не врубился..
но отсортировать можно SORT BY a1, a2, ...aN

или использовать под запросы WHERE = (SELECT ....)
 

Selforg

Новичок
сорт бай точно не прокатил бы....

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

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

ну короче сложно объснить... если оч. сильно хочется... могу привести пример....
 

Фанат

oncle terrible
Команда форума
какие ещё примеры?
задача тривиальная. сто раз обсуждалась. здесь тоже всё давно решено. что ещё не ясно?
 

iamFake

Mind Of Liberty
юзай_мосг();
юзай_поисг();
если_поисг_не_помог
{
goto(1); //кстати, такой конструкции имхо в php не хватает =)
}
 

EgorGruzdev

Новичок
Гравицапа
iamFake
Да, но для чего вы создавали форум, раз на все вопросы только один ответ: узай поиск, узай мозг ...

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

zerkms

TDD infected
Команда форума
EgorGruzdev
в факе на форуме - отлично объяснено, зачем этот форум создан
 

iamFake

Mind Of Liberty
Автор оригинала: EgorGruzdev
Гравицапа
iamFake
Да, но для чего вы создавали форум, раз на все вопросы только один ответ: узай поиск, узай мозг ...

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

зы темболее что ента проблема вовсе не проблема, а всего 5 минут мозгования... или даже меньше... нет, определенно меньше =)
 

Avenus

Under Glory Yield
Кстати, если в базе есть записи с одинаковыми именами (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,Г
:) так что все советы тут в теме оказались бесполезными...
И если у кого-то возникла мысль, проверять не больше и меньше, а больше или равно... и меньше или равно
То вообще не будет работать!
 

Фанат

oncle terrible
Команда форума
Avenus
подсказка: условий в проверке может быть больше одного.
 
Сверху