![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
Доброго времени суток, помогите пожалуйста разобраться как работает pagination... именно шаг за шагом, короткий алгоритм! Можно на примере CI или просто на голом php)
Заранее спасибо... |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
а собственные идеи какие-нибудь есть?
|
|||
|
||||
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
Ну как бы... Я вообщем хочу разобраться.... например берем CodeIgniter... что заносим в контроллер, что в модель, что во вьюху... на самом простом примере,...
А то в юзер гиде по CI не очень подробно написано... Это сообщение отредактировал(а) insy - 4.10.2009, 17:27 |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Вы тогда не очень удачное название теме дали.
Алгоритм выполнения программы - это одно. Последовательность нажимания кнопочек при вызове готовой библиотеки - совсем другое. К алгоритму она не имеет отношения. Имеет смысл спросить на каком-нибудь специализированном форуме, посвященном этому фреймворку. Поскольку множество программистов на РНР не слишком пересекается со множеством пользователей одного из фреймворков. Это сообщение отредактировал(а) Ипатьев - 4.10.2009, 17:38 |
|||
|
||||
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
согласен, ну а просто на php без использования CI?
|
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Ну а без использования CI собственные идеи какие-нибудь есть?
|
|||
|
||||
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
а что подразумевается по собственными идеями? как я это сам вижу?
|
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
ну да
какие есть идеи по данному алгоритму. |
|||
|
||||
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
как вариант есть таблица с огромным количеством записей нужно сделать, чтобы записи разбивались например по 40элементов, ну и соответственно можно было перемещаться... Так же реализовать кнопки "Первая" и "Последняя" страницы... ну вот как- то так...
|
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Ну, неплохая постановка задачи.
А какие идеи по реализации? Скажем по разбивке? Что имеется в виду под словом "разбивались"? Это сообщение отредактировал(а) Ипатьев - 4.10.2009, 18:09 |
|||
|
||||
Kallisto |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 20.4.2007 Репутация: -3 Всего: -1 |
Всегда раздражали "эксперты" которые вместо решения проблемы начинают задалбывать зачем это вам и давайте думайте сами..
Итак: При выборки из базы используется SQL запрос. При задании запроса можно указать сколько записей и начиная с какой необходимо сделать выборку. Это осуществляется с помощью LIMIT Использовать очень просто: SELECT * FROM TABLE LIMIT сколько_записей_надо или с OFFSET SELECT * FROM TABLE LIMIT начиная_с_какой, сколько_записей надо Пример: SELECT * from users limit 5 - покажет 5 юзеров SELECT * from users limit 5,10 - покажет 10 юзеров после 5ти Разбиение страниц работает по след. принципу, например если задана переменная $page то мы ее толкаем в запрос Допустим надо чтобы было по 50 записей на страницу. Нумерация страниц с 1 $perpage = 50; $offset = (--$page)*$perpage; $sql = "select * from users limit $offset,$perpage"; А ниже выводим страницы.. предварительно переменную $page необходимо проверить на валидность и существование Успехов. будут вопросы - пишите |
|||
|
||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
Всегда раздражали "эксперты", которые дают готовое решение. Как минимум, они не дают ТС подумать. Причем часть из них хочет показаться умными. Как результат имеем "программистов", которые разрабатывают методом copy-paste и за каждым новым куском бегуют на форум ;)
|
|||
|
||||
Leklerk |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 200 Регистрация: 31.7.2009 Где: Санкт-Петербург Репутация: нет Всего: нет |
youri,
![]() |
|||
|
||||
Kallisto |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 20.4.2007 Репутация: -3 Всего: -1 |
Если вы считаете, что сказать человеку про ЛИМИТ, кратко объяснить для чего он и как использовать в РНР и для решения pagination то да.. это готовое решение.
|
|||
|
||||
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
Согласен, что оба участника спора правы... что собственно копипаст это не замечательно... и излишне пытающие люди - это тоже не совсем замечательно...
Просто я абсолютно не спорю с тем, что вы понимаете, затем я собственно сюда и пришел,чтобы у вас проконсультироваться, но просто такая пытка, учитывая , что я сам собственно не особо могу понять что как мне охарактеризовать свой вопрос, и мне просто нужен простой алгоритм, как предоставил Kallisto, чтобы начать плясать и задавать дальнейшие вопросы... Я почему-то очень сомневаюсь товарищ Ипатьев, что вы не могли его написать ![]() p.s Kallisto спасибо... процесс пошел... Добавлено через 6 минут и 46 секунд Это не в коем случае не какое-то заявление, типа "от вас толку 0, только разговоры", Ипатьев, отдельное спасибо, ты мне уже не раз помогал, но сейчас просто я с трудом смог объяснить свою мысль. ![]() Добавлено через 11 минут и 22 секунды А переменная $page тут для чего используется? и что значит --$page? |
|||
|
||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
ну как бы название говорит за себя, м? ;) попробуй выполнить
и собственно, почему не посмотреть в мануале? |
|||
|
||||
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
да, согласен, тупого включил, просто как это обычно бывает... сначала написал, потом подумал
![]() |
|||
|
||||
Kallisto |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 20.4.2007 Репутация: -3 Всего: -1 |
Перечитайте внимательно, вникните в суть. А про --$page это уже надо курить мануалы. |
|||
|
||||
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
Да я понял уже, спасибо!
![]() |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Интересный вопрос пришел в голову.
Какой процент пользователей языка РНР может составить алгоритм того или иного действия. Да и вообще понимает значение слова "алгоритм". Мне кажется, что не более 20%... |
|||
|
||||
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
Хорошо же вы думаете о 80% пользователях форума. Может это вы немного не так понимаете данное слово. В моем понимании - это последовательность действий. И прося написать алгоритм постраничной разбивки, я имел именно описать последовательность действий, т.е что за чем делать, или другими словами "шаг за шагом".
Это сообщение отредактировал(а) insy - 5.10.2009, 15:21 |
|||
|
||||
Ипатьев |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Ну, хорошо ли, плохо ли, но до сих пор в этой теме не прозвучало ничего похожего на алгоритм.
И я сомневаюсь, что прозвучит. Даже после того, как код будет написан и заработает. В этом-то и заключается проблема. |
|||
|
||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
||||
|
||||
Ипатьев |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
insy, правильно. Это последовательность действий, однозначно приводящая к какому-либо результату.
Алгоритм можно составить для решения любой задачи. Один мой знакомый рассказывал, что просил на собеседовании составить алгоритм для посещения туалета. Очень редкий корреспондент мог с первого раза справиться, оставив штаны сухими. И только у одного алгоритм не давал сбой, если менялся пол у входящих данных. Все эти люди, при этом, без проблем пользуются туалетом. Отсюда вывод: составить алгоритм - непростая задача. И ее совсем не облегчает тот факт, что само действие человек совершает с легкостью. Одна сороконожка попыталась составить алгоритм переставления ног при ходьбе. С тех пор она не сделала ни шагу. В данном случае у нас должен быть алгоритм постраничного вывода. К примеру, СНАЧАЛА мы решаем, что хотим выводить первые 10 записец, потом следующие 10. И только после этого искать конкретный SQL запрос, который выполняет нужный шаг алгоритма. Алгоритм постраничного вывода человек не может не составить самостоятельно. Это совсем несложная задача. Разложить апельсины в кучки по три штучки может любой. Или найти страницу в многостраничной ведомости. Значит, он может и составить алгоритм. Но это надо уметь. алгоритм может быть представлен в виде блок-схемы, в виде программы на псевдоязыке, а может быть и написан на словах. Например:
это линейный алгоритм но в жизни встречаются и более сложные варианты, например, с циклом:
или с условным переходом
Алгоритм - это четкая программа действий, с помощью который ты, и в первую очередь - ты, а не компьютер, сможешь решить ту или иную задачу. Это нелегкое умение и не всем под силу. Но считается, что без владения им программистом стать невозможно. Вот даже интересно. Кто из читающих данный топик напишет алгоритм нахождения наименьшего из трех чисел? |
||||||
|
|||||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing ![]() |
|||
|
||||
MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing ![]() |
|||
|
||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
раз MoLeX так ругается предлагаю продолжить здесь
|
|||
|
||||
sTa1kEr |
|
|||
9/10 программиста ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1553 Регистрация: 21.2.2007 Репутация: 56 Всего: 146 |
||||
|
||||
unicuum |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 830 Регистрация: 16.3.2005 Где: Рашка Репутация: нет Всего: 8 |
-------------------- ![]() обычный день на винграде |
|||
|
||||
insy |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 21.9.2008 Где: Saratov Репутация: нет Всего: нет |
Забавно вышло, описание самого топика только в 2-х постах...
|
|||
|
||||
Simpliest |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 625 Регистрация: 1.9.2009 Репутация: 1 Всего: 3 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |