Решение проблемы постраничной навигации

834
.
P.S. тут ужасная подсветка кода, зачем было лезть туда где лучше чем есть не сделать?
.
ramzes (09.05.2012/20:58)
оу майн гад...
гуд монинг фазе
пьяный копи-паст, под роутер с масс-мод-реврайт, поправить не проблема
[php]//---- Функция навигации ----//

function navi($self, $total, $page, $stepped=0)
Допустим. Ну я почти понял что ты нацарапал. А вот "гусь" какой-то поймет?
.
Хотя... Всё проехали! Ты мегокодер я фуфло. Все ясно. Можешь больше не пыжиться.
.
NURD (10.05.2012/04:40)
Хотя... Всё проехали! Ты мегокодер я фуфло. Все ясно. Можешь больше не пыжиться.
Я вчера был пьян, извиняюсь
А поеимать там особо и не чего
.
ramzes (10.05.2012/09:36)
Я вчера был пьян, извиняюсь
А поеимать там особо и не чего
Ну вот как в твоей функции вывести 10 пользователей на страницу с навигацией?
В моей:
$nav = new PageNav;

$query = $nav->Qeury("SELECT * FROM `users` #LIMIT");

while ( $i = mysql_fetch_array( $query ) ) {
  echo $i['name'] . '<br/>';
}

$nav->SetParam('per_page', 10);

$nav->Show();
.
Это все конечно хорошо, но есть один вопрос, зачем смешивать данные с логикой? Ведь прекрасно можно было сделать и без всяких сикъюл запросов и прочего.
.
Screamer (10.05.2012/13:34)
Это все конечно хорошо, но есть один вопрос, зачем смешивать данные с логикой? Ведь прекрасно можно было сделать и без всяких сикъюл запросов и прочего.
Большинство сценариев с использованием ПН, используется SQL. А ведь чтобы узнать значение опратора LIMIT в sql, тоже нужны исчисления. Потому в функции тоже привязана логика. #LIMIT - условная переменная, заменяется на оператор SQL LIMIT.
НУ и если ты читал документацию, то понял, что Show([int total rows]) - может использоваться без Quert (str SQL-QUERY). Просто в аргументе указываешь количество записей, и получаешь навигацию.
.
Пример:

$nav = new PageNav;
//Вывод навигации на 1000 записей
//Если параметр per_page = 10, то выдаст
//5 кнопок, минимизированной навигации
// 1 ... предыдущая текущая следующая ... последняя
$nav->Show(1000);
.
NURD, только не все используют mysql. Конечно никто не мешает поменять там пару строк, но гораздо лучше, если один раз написал и больше не трогаешь.
Да и с таким же успехом новичок если не может написать пагинацию, позаимствует код из любой другой цмски
.
Screamer (10.05.2012/14:22)
NURD, только не все используют mysql. Конечно никто не мешает поменять там пару строк, но гораздо лучше, если один раз написал и больше не трогаешь.
Да и с таким же успехом новичок если не может нап
Документацию читай. SQL - там как дополнение, функция лишь подсчитывает общее количество строк. И можно легко обойтись без нее.
Всего: 57