Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Pagination шаг за шагом, Помогите пожалуйста разобраться 
V
    Опции темы
insy
Дата 4.10.2009, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



Доброго времени суток, помогите пожалуйста разобраться как работает pagination... именно шаг за шагом, короткий алгоритм! Можно на примере CI или просто на голом php)

Заранее спасибо...
PM MAIL   Вверх
Ипатьев
Дата 4.10.2009, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



а собственные идеи какие-нибудь есть?
PM MAIL   Вверх
insy
Дата 4.10.2009, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



Ну как бы... Я вообщем хочу разобраться.... например берем CodeIgniter... что заносим в контроллер, что в модель, что во вьюху... на самом простом примере,...
А то в юзер гиде по CI не очень подробно написано...

Это сообщение отредактировал(а) insy - 4.10.2009, 17:27
PM MAIL   Вверх
Ипатьев
Дата 4.10.2009, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Вы тогда не очень удачное название теме дали.
Алгоритм выполнения программы - это одно.
Последовательность нажимания кнопочек при вызове готовой библиотеки - совсем другое. К алгоритму она не имеет отношения. 
Имеет смысл спросить на каком-нибудь специализированном форуме, посвященном этому фреймворку. Поскольку множество программистов на РНР не слишком пересекается со множеством пользователей одного из фреймворков.

Это сообщение отредактировал(а) Ипатьев - 4.10.2009, 17:38
PM MAIL   Вверх
insy
Дата 4.10.2009, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



согласен, ну а просто на php без использования CI?
PM MAIL   Вверх
Ипатьев
Дата 4.10.2009, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Ну а без использования CI собственные идеи какие-нибудь есть?

PM MAIL   Вверх
insy
Дата 4.10.2009, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



а что подразумевается по собственными идеями? как я это сам вижу?
PM MAIL   Вверх
Ипатьев
Дата 4.10.2009, 17:56 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



ну да
какие есть идеи по данному алгоритму. 

PM MAIL   Вверх
insy
Дата 4.10.2009, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



как вариант есть таблица с огромным количеством записей нужно сделать, чтобы записи разбивались например по 40элементов, ну и соответственно можно было перемещаться... Так же реализовать кнопки "Первая" и "Последняя" страницы... ну вот как- то так...
PM MAIL   Вверх
Ипатьев
Дата 4.10.2009, 18:07 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Ну, неплохая постановка задачи.
А какие идеи по реализации? 
Скажем по разбивке? Что имеется в виду под словом "разбивались"?

Это сообщение отредактировал(а) Ипатьев - 4.10.2009, 18:09
PM MAIL   Вверх
Kallisto
Дата 4.10.2009, 22:49 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 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 необходимо проверить на валидность и существование


Успехов. будут вопросы - пишите
PM MAIL   Вверх
youri
Дата 5.10.2009, 08:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Всегда раздражали "эксперты", которые дают готовое решение. Как минимум, они не дают ТС подумать. Причем часть из них хочет показаться умными. Как результат имеем "программистов", которые разрабатывают методом copy-paste и за каждым новым куском бегуют на форум ;)
PM   Вверх
Leklerk
Дата 5.10.2009, 08:58 (ссылка)  | (голосов:5) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 31.7.2009
Где: Санкт-Петербург

Репутация: нет
Всего: нет



youri,  smile 
PM MAIL ICQ   Вверх
Kallisto
Дата 5.10.2009, 09:51 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: -3
Всего: -1



Если вы считаете, что сказать человеку про ЛИМИТ, кратко объяснить для чего он  и как использовать в РНР и для решения pagination то да.. это готовое решение.
PM MAIL   Вверх
insy
Дата 5.10.2009, 13:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



Согласен, что оба участника спора правы... что собственно копипаст это не замечательно... и излишне пытающие люди - это тоже не совсем замечательно...
Просто я абсолютно не спорю  с тем, что вы понимаете, затем я собственно сюда и пришел,чтобы у вас проконсультироваться, но просто такая пытка, учитывая , что я сам собственно не особо могу понять что как мне охарактеризовать свой вопрос, и мне просто нужен простой алгоритм, как предоставил Kallisto, чтобы начать плясать и задавать дальнейшие вопросы... 
Я почему-то очень сомневаюсь товарищ Ипатьев, что вы не могли его написатьsmileМожет просто плохо поняли друг друга... 

p.s Kallisto спасибо... процесс пошел...

Добавлено через 6 минут и 46 секунд
Это не в коем случае не какое-то заявление, типа "от вас толку 0, только разговоры", Ипатьев,  отдельное спасибо, ты мне уже не раз помогал, но сейчас просто я с трудом смог объяснить  свою мысль.smile

Добавлено через 11 минут и 22 секунды
А переменная $page тут для чего используется? и что значит --$page?
PM MAIL   Вверх
youri
Дата 5.10.2009, 14:23 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Цитата(insy @  5.10.2009,  13:50 Найти цитируемый пост)
А переменная $page тут для чего используется?

ну как бы название говорит за себя, м? ;)

Цитата(insy @  5.10.2009,  13:50 Найти цитируемый пост)
и что значит --$page?

попробуй выполнить
Код

$i = 2;
echo (--$i)+1, ($i--)+1

и собственно, почему не посмотреть в мануале?
PM   Вверх
insy
Дата 5.10.2009, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



да, согласен, тупого включил, просто как это обычно бывает... сначала написал, потом подумалsmile
PM MAIL   Вверх
Kallisto
Дата 5.10.2009, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 163
Регистрация: 20.4.2007

Репутация: -3
Всего: -1



Цитата

А переменная $page тут для чего используется? и что значит --$page? 

Перечитайте внимательно, вникните в суть.

А про --$page это уже надо курить мануалы.

PM MAIL   Вверх
insy
Дата 5.10.2009, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



Да я понял уже, спасибо! smile 
PM MAIL   Вверх
Ипатьев
Дата 5.10.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Интересный вопрос пришел в голову.
Какой процент пользователей языка РНР может составить алгоритм того или иного действия. Да и вообще понимает значение слова "алгоритм". Мне кажется, что не более 20%...
PM MAIL   Вверх
insy
Дата 5.10.2009, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



Хорошо же вы думаете о 80% пользователях форума. Может это вы немного не так  понимаете данное слово. В моем понимании - это последовательность действий. И прося написать алгоритм постраничной разбивки, я имел именно описать последовательность действий, т.е что за чем делать, или другими словами "шаг за шагом".

Это сообщение отредактировал(а) insy - 5.10.2009, 15:21
PM MAIL   Вверх
Ипатьев
Дата 5.10.2009, 15:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Ну, хорошо ли, плохо ли, но до сих пор в этой теме не прозвучало ничего похожего на алгоритм.
И я сомневаюсь, что прозвучит. Даже после того, как код будет написан и заработает. В этом-то и заключается проблема.
PM MAIL   Вверх
youri
Дата 5.10.2009, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Цитата(Ипатьев @  5.10.2009,  15:28 Найти цитируемый пост)
И я сомневаюсь, что прозвучит. Даже после того, как код будет написан и заработает. В этом-то и заключается проблема.

ты на проектирование намекаешь?
PM   Вверх
Ипатьев
Дата 5.10.2009, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



insy, правильно. Это последовательность действий, однозначно приводящая к какому-либо результату. 
Алгоритм можно составить для решения любой задачи.
Один мой знакомый рассказывал, что просил на собеседовании составить алгоритм для посещения туалета. Очень редкий корреспондент мог с первого раза справиться, оставив штаны сухими. И только у одного алгоритм не давал сбой, если менялся пол у входящих данных.
Все эти люди, при этом, без проблем пользуются туалетом. 
Отсюда вывод: составить алгоритм - непростая задача. И ее совсем не облегчает тот факт, что само действие человек совершает с легкостью. Одна сороконожка попыталась составить алгоритм переставления ног при ходьбе. С тех пор она не сделала ни шагу. 

В данном случае у нас должен быть алгоритм постраничного вывода. 
К примеру, СНАЧАЛА мы решаем, что хотим выводить первые 10 записец, потом следующие 10.
И только после этого искать конкретный SQL запрос, который выполняет нужный шаг алгоритма. 

Алгоритм постраничного вывода человек не может не составить самостоятельно. Это совсем несложная задача. Разложить апельсины в кучки по три штучки может любой. Или найти страницу в многостраничной ведомости. Значит, он может и составить алгоритм. Но это надо уметь. 

алгоритм может быть представлен в виде блок-схемы, в виде программы на псевдоязыке, а может быть и написан на словах. 
Например:
Код

взять кастрюлю
налить воды
положить яйца
поставить на огонь
ждать 10 минут
снять
поставить под холодную воду.

это линейный алгоритм
но в жизни встречаются и более сложные варианты, например, с циклом:
Код

взять кастрюлю
налить воды
повторять:
  взять картофелину
  почистить
  положить в кастрюлю
  увеличить счетчик на 1
до тех пор, пор, пока счетчик меньше 5
поставить на огонь
ждать 20 минут
снять

или с условным переходом
Код

повторять:
  взять картофелину
  если (не гнилая):
    почистить
    положить в кастрюлю
    увеличить счетчик на 1
  иначе:
    выбросить
до тех пор, пор, пока счетчик меньше 5


Алгоритм - это четкая программа действий, с помощью который ты, и в первую очередь - ты, а не компьютер, сможешь решить ту или иную задачу. Это нелегкое умение и не всем под силу. Но считается, что без владения им программистом стать невозможно. 

Вот даже интересно. Кто из читающих данный топик напишет алгоритм нахождения наименьшего из трех чисел? 







PM MAIL   Вверх
MoLeX
Дата 5.10.2009, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



Цитата(Ипатьев @  5.10.2009,  15:01 Найти цитируемый пост)
Интересный вопрос пришел в голову.



 ! 
MoLeX



Модератор: Ипатьев, для своих интересных идей создавай отдельную тему и в ней рассуждай. Предупреждаю: еще раз занесет вас за рамки обсуждаемой темы - буду награждать читательскими билетами!!! (т.к. происходит нарушение правил форума)





--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
MoLeX
Дата 6.10.2009, 06:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140




M
MoLeX
Модератор: Давайте вернёмся к теме обсуждения.



--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
youri
Дата 6.10.2009, 08:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



раз MoLeX так ругается предлагаю продолжить здесь
PM   Вверх
sTa1kEr
Дата 6.10.2009, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 56
Всего: 146



Цитата(MoLeX @  6.10.2009,  07:29 Найти цитируемый пост)
Давайте вернёмся к теме обсуждения.

Цитата(Тема)

Pagination шаг за шагом


Составление программы по шагам - это и есть составление алгоритма программы. MoLeX, т.ч. зря ты на Ипатьев'а накинулся, он, наверное, единственный кто не оффтопил в этой теме.
PM MAIL   Вверх
unicuum
  Дата 8.10.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 830
Регистрация: 16.3.2005
Где: Рашка

Репутация: нет
Всего: 8



Цитата(sTa1kEr @  6.10.2009,  09:17 Найти цитируемый пост)
MoLeX, т.ч. зря ты на Ипатьев'а накинулся

Потому что мог.


--------------------
user posted image
обычный день на винграде
PM   Вверх
insy
Дата 8.10.2009, 15:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 21.9.2008
Где: Saratov

Репутация: нет
Всего: нет



Забавно вышло, описание самого топика только в 2-х постах...
PM MAIL   Вверх
Simpliest
Дата 8.10.2009, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(sTa1kEr @  6.10.2009,  09:17 Найти цитируемый пост)
Составление программы по шагам - это и есть составление алгоритма программы. MoLeX, т.ч. зря ты на Ипатьев'а накинулся, он, наверное, единственный кто не оффтопил в этой теме. 

Пффф, фееричный топик. Впрочем Molex только подтвердил слова Ипатьева :(
Печально.


--------------------
user posted image
PM   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1440 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.