CListView случайная сортировка.

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
cpentyc
Сообщения: 52
Зарегистрирован: 2011.11.29, 18:03
Откуда: Казахстан
Контактная информация:

CListView случайная сортировка.

Сообщение cpentyc »

Мне нужно что бы на разных страницах результат работы CListView был разный, но на самой странице результат должен быть всегда одинаковый.
http://cpentyc.ru/ <- наверняка ничего нет я ленивая задница. Лучше в скайп cpentyc. Знаю джумлу

Аватара пользователя
sluchainiyznak
Сообщения: 617
Зарегистрирован: 2013.05.19, 17:51
Откуда: ХМАО-Югра, г. Сургут
Контактная информация:

Re: CListView случайная сортировка.

Сообщение sluchainiyznak »

вот уже 4 раза прочитал и всё-равно не понимаю что здесь написано
нужна рандомная сортировка, пожалуйста - order by rand()

Bloom
Сообщения: 313
Зарегистрирован: 2013.02.25, 12:57

Re: CListView случайная сортировка.

Сообщение Bloom »

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

Bloom
Сообщения: 313
Зарегистрирован: 2013.02.25, 12:57

Re: CListView случайная сортировка.

Сообщение Bloom »

sluchainiyznak писал(а):вот уже 4 раза прочитал и всё-равно не понимаю что здесь написано
нужна рандомная сортировка, пожалуйста - order by rand()
Ты не понял.. это топик "кому что нужно".

dmg
Сообщения: 684
Зарегистрирован: 2012.10.15, 03:09

Re: CListView случайная сортировка.

Сообщение dmg »

Я так понимаю необходима рандомная выборка при первом заходе, а при пагинации результат выборки сохранился...
Сделать выборку, сохранить массив в сессию и использовать arraydataprovider ?

cpentyc
Сообщения: 52
Зарегистрирован: 2011.11.29, 18:03
Откуда: Казахстан
Контактная информация:

Re: CListView случайная сортировка.

Сообщение cpentyc »

sluchainiyznak писал(а):вот уже 4 раза прочитал и всё-равно не понимаю что здесь написано
нужна рандомная сортировка, пожалуйста - order by rand()
Если использовать order by rand() то когда два раза откроешь pade1.html результат на странице будет разный. А мне нужно что бы одинаковые данные array(1,2,3,4,5) на разных страницах Pade1 array(4,5,1,2,3) и pade2 array(3, 1,2 ,4,5) выводились в разном порядке. Но на pade1 всегда порядок был array(4,5,1,2,3)
Bloom писал(а):Мм.. круто.
А мне нужно, чтобы каждый вечер коты ходили в туалет до того, как я лягу спать.
А то вечно так: ложишься, уже почти сон начинаешь видеть, а они по очереди начинают зарывать. Приходится просыпаться и убирать за ними лотки.
А вам могу только посоветовать проверится у врача. Надеюсь программист вы лучше чем тролль.
http://cpentyc.ru/ <- наверняка ничего нет я ленивая задница. Лучше в скайп cpentyc. Знаю джумлу

Аватара пользователя
vova07
Сообщения: 1004
Зарегистрирован: 2012.11.29, 14:52
Откуда: Chisinau, Moldova

Re: CListView случайная сортировка.

Сообщение vova07 »

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

Bloom
Сообщения: 313
Зарегистрирован: 2013.02.25, 12:57

Re: CListView случайная сортировка.

Сообщение Bloom »

cpentyc писал(а): Если использовать order by rand() то когда два раза откроешь pade1.html результат на странице будет разный. А мне нужно что бы одинаковые данные array(1,2,3,4,5) на разных страницах Pade1 array(4,5,1,2,3) и pade2 array(3, 1,2 ,4,5) выводились в разном порядке. Но на pade1 всегда порядок был array(4,5,1,2,3)
Ну вот видишь, уже и задание хоть какое-то сформировалось. Почему мы должны из тебя все выпытывать? Слабо сразу все данные с примерами или со своим представлением решения?
Отвлеклись.
Ты написал: Но на pade1 всегда порядок был array(4,5,1,2,3) - это только в пределах сессии или глобально для всех пользователей всегда, даже после перезагрузки сервака?

cpentyc
Сообщения: 52
Зарегистрирован: 2011.11.29, 18:03
Откуда: Казахстан
Контактная информация:

Re: CListView случайная сортировка.

Сообщение cpentyc »

Bloom писал(а):
cpentyc писал(а): Ты написал: Но на pade1 всегда порядок был array(4,5,1,2,3) - это только в пределах сессии или глобально для всех пользователей всегда, даже после перезагрузки сервака?
Даже при переносе на другой сервак
http://cpentyc.ru/ <- наверняка ничего нет я ленивая задница. Лучше в скайп cpentyc. Знаю джумлу

Bloom
Сообщения: 313
Зарегистрирован: 2013.02.25, 12:57

Re: CListView случайная сортировка.

Сообщение Bloom »

Т.е. данные, отвечающие за сортировку, должны храниться в базе или в файле.
Использовать файл - ясное дело сильно затормозит работу скрипта.
Значит используем базу.
Количество страниц Page1 Page2 заранее известно? Оно ограничено или может быть сколько угодно?

Bloom
Сообщения: 313
Зарегистрирован: 2013.02.25, 12:57

Re: CListView случайная сортировка.

Сообщение Bloom »

Чтоб не ждать заранее ответа - предположим, что количество страниц заранее известно и их 5 штук. Так-же количество страниц меняться не будет.
Создаем в нашей таблице еще 5 полей, назовем их Page1,Page2,Page3 и т.д.
Забиваем эти поля рандомными значениями от 0 до 1 000 000, вот и готовы поля, по которым мы будем сортировать.
Теперь в зависимости от страницы - сортируем по конкретному полю.

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

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

Ответить