Добавляем в представление несколько вложений, возможно ли на выходе получить, чтобы каждое вложение было уникально учитывая, что выборка в них одинаковая?
Возможно ли это?
1. Для рандомной выборки должен строиться запрос вроде такого :
SELECT * FROM `a` WHERE `f` ORDER BY RAND() LIMIT 10;
Не помню чтобы вьюс поддерживала такой метод упорядочивания. На большом количестве записей такая выборка дико тормозная.
2. Рекомендую отказаться от вьюс и сделать проще. Делать выборку и 5ти картинок первого типа, 20-30 второго типа, и 50-100 третьего (цифры взяты от балды, выбрать можно одним запросом, а затем разбить данные скриптом на нужные группы). После получения данных из БД, пхпшным скриптом делаешь микс картинок в каждой группе и выводишь нужное количество картинок из этих групп.
Cупер быстрый вариант, пример:
$result1 = array(...) - выборка первой группы
То что на вывод будет - array_rand($result1,1)
Это слишком сложно для меня
В views есть рандомная выборка
картинки перед выводом надо порезать на нужные куски с imagecache
Нагрузка волнует относительно так как такая страница будет всего 1
Городить большой огород не хотел бы, если не получится придется просто брать 50 картинок одного размера, а хочется разнообразить эту картину...
Лучше сделай 1 запрос на все картинки рандомно,хоть 200 штук(это не сильно нагрузит базу)
потом array_slice`м поделишь на группы и обработаешь своим пресетом. без всяких вьюсов.
))) те же яица, только сбоку. Либо рандомную выборку, потом слайсим. Либо упорядоченную выборку, потом выбираем рандомные элементы. Один фиг, автору такой варинт не подходит.
Комментарии
Гм. А теперь расскажи что ты хочешь сделать. Не очень понятно что имеется в виду.
Да, есть способы проще, но они не пришли мне в голову
Хочу вывести картинки разного размера грубо говоря:
1 шт 300х200 потом
10 шт 100х50 далее
15 шт 70х30 и так далее
всего может картинок 50, мысль пришла сделать через вложения, но там столкнулся с вопросом уникальности выборки. Картинки берутся рандомно
1. Для рандомной выборки должен строиться запрос вроде такого :
SELECT * FROM `a` WHERE `f` ORDER BY RAND() LIMIT 10;
Не помню чтобы вьюс поддерживала такой метод упорядочивания. На большом количестве записей такая выборка дико тормозная.
2. Рекомендую отказаться от вьюс и сделать проще. Делать выборку и 5ти картинок первого типа, 20-30 второго типа, и 50-100 третьего (цифры взяты от балды, выбрать можно одним запросом, а затем разбить данные скриптом на нужные группы). После получения данных из БД, пхпшным скриптом делаешь микс картинок в каждой группе и выводишь нужное количество картинок из этих групп.
Cупер быстрый вариант, пример:
$result1 = array(...) - выборка первой группы
То что на вывод будет - array_rand($result1,1)
П.С. наверняка есть другие варианты.
Удачи
Это слишком сложно для меня
В views есть рандомная выборка
картинки перед выводом надо порезать на нужные куски с imagecache
Нагрузка волнует относительно так как такая страница будет всего 1
Городить большой огород не хотел бы, если не получится придется просто брать 50 картинок одного размера, а хочется разнообразить эту картину...
Лучше сделай 1 запрос на все картинки рандомно,хоть 200 штук(это не сильно нагрузит базу)
потом
array_slice
`м поделишь на группы и обработаешь своим пресетом. без всяких вьюсов.))) те же яица, только сбоку. Либо рандомную выборку, потом слайсим. Либо упорядоченную выборку, потом выбираем рандомные элементы. Один фиг, автору такой варинт не подходит.