[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сортировка при постраничном выводе
Sergen
Доброго времени суток!
Вчера осваивал новую для себя вещь - постраничный вывод. В общем все работает, все нормуль, но нет предела совершенству.
Задумал:
1) Вывод по количеству строк, ну например по 10 по 20, по 30.

$per_page = 10;
$num_pages=ceil($total_rows/$per_page);//$total_rows-количество записей

if (isset($_GET['page'])) $page = intval($_GET['page']-1); else $page=0;
$start = intval( abs($page*$per_page));

if (isset($_GET['num'])) {$page = intval($_GET['num']); $start = $page-10; } else $page=0;

....
LIMIT $start, $per_page...

При подмене здесь 10 переменной через форму, при переходе на другую страницу вывода, переменная пропадает и тогда ничего не выводится.

2) Та же фигня если через форму, сделать сортировку ...ORDER BY `$itemid`

Погуглив, ничего толком не нашел. Сегодня с 8.00 сижу с формами перепробовал все-фигня одна. Печенкой чувствую, через js надо делать. Подскажите пожалуйста, чего здесь придумать можно?



Спустя 1 минута, 25 секунд (22.01.2012 - 11:38) T1grOK написал(а):
передаем нужные значения через GET параметры.

Спустя 1 минута, 41 секунда (22.01.2012 - 11:40) redreem написал(а):
вообще где-то была инфа, что задавать пагинатор исключительно через GET (да и через POST) - чревато тем, что ваш сайт уронют путем искуственного запроса ?num=100500.
параметры пагинатора для сессии надо хранить на стороне сервера, например в сессионных переменных. тогда и ваша проблема автоматом решится.

Спустя 10 минут, 22 секунды (22.01.2012 - 11:50) T1grOK написал(а):
redreem Большей ерунды не слышал.

Спустя 17 минут, 18 секунд (22.01.2012 - 12:08) redreem написал(а):
T1grOK
ну значит ты много чего еще не слышал

Спустя 15 минут, 31 секунда (22.01.2012 - 12:23) Sergen написал(а):
Цитата (T1grOK @ 22.01.2012 - 08:38)
передаем нужные значения через GET параметры.

Если имеется ввиду форма через get, то пробовал, там вообще каша получается в урле, и обработчик не инклюдится у меня. Или я неправильно Вас понял?

Спустя 7 минут, 47 секунд (22.01.2012 - 12:31) Sergen написал(а):
Цитата (redreem @ 22.01.2012 - 08:40)
вообще где-то была инфа, что задавать пагинатор исключительно через GET (да и через POST) - чревато тем, что ваш сайт уронют путем искуственного запроса ?num=100500.
параметры пагинатора для сессии надо хранить на стороне сервера, например в сессионных переменных. тогда и ваша проблема автоматом решится.

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

А вот по поводу сессионных переменных, тут наверное Вы правы, наверное это самое приемлемое решение. Плохо одно, я еще до конца с сессиями не разобрался((((

Спустя 2 минуты, 32 секунды (22.01.2012 - 12:33) redreem написал(а):
с сессиями ниче сложного.

session_start ();
$_SESSION['num'] = $num;

положить получится, если будет передаваться параметр numOnPage и он не будет проверяться на лимиты (есть же пользовательский выбор количества записей на странице).
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.