Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Здравствуйте. Помогите сформировать правильный, и рабочий запрос в RedBeanPHP

Stranger Профи (914), на голосовании 3 года назад
Не получается написать нужный синтаксис. Но или может есть идеи как это воплотить в реальность)

Нужно сформировать такой вот запрос к базе.
$banners = \R::getAll('SELECT `name_banner`, `desc_banner`, `suurus_banner`, `alias_banner` FROM `ms_banners` WHERE `suurus_banner` = IN(?) ORDER BY RAND() LIMIT 3', ['420х259','860x259']);

IN(?) работает только с числами. Или что-то можно сделать?
Голосование за лучший ответ
Лёха Ткачёв Профи (749) 3 года назад
первое
= \R::getAll нужно R::getAll
а вот насчет `suurus_banner` = IN(?) не проще ли передавать напрямую переменную? или вы боитесь иньекции?
StrangerПрофи (914) 3 года назад
Переписал код.
$banner_top = \R::getAll("SELECT * FROM `banners` WHERE `suurus` BETWEEN '420х259' AND '860х259' AND `visibility` = '1' ORDER BY RAND() LIMIT 3");

Нашел такое решение. Не знаю решение удачное или нет.

Теперь столкнулся с другой проблемой. Нужно вывести многомерный массив с использованием методом рекурсии. И снова как - это правильно сделать?
Лёха Ткачёв Профи (749) Stranger, на вашем месте я бы для начала сделал это на php 5 простым привычным mysql, посмотрел бы как это работает и потом бы уже переносил это всё на php 7 под ORM.
StrangerПрофи (914) 3 года назад
Подскажите есть, возможно задать еще дополнительное условие к уже существующему. Мне нужно чтобы Лимит работал как-то иначе) Нужен такой результат. Получать два баннера по 860х259 или четыре по 420х259 но лучше, два баннера по 860х259 или один с разрешением 860х259 и два уже с 420х259 также выводит рандомно? RAND()
Похожие вопросы