Вывод значений мультиселекта в том же порядке, в каком выбрано
Добрый день! Имеется мультиселект, выбирающий из имеющихся ресурсов, вот его параметры:
Помогите пожалуйста, заранее спасибо
@SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` WHERE `parent` = 3 ORDER BY `pagetitle` ASC
Соответственно и вывод перечня у него получается BY `pagetitle` ASC, а требуется что бы выводил в том же порядке, в каком выбрано. Если не указывать ORDER BY, то он вообще по порядку выводит. Помогите пожалуйста, заранее спасибо
Комментарии: 10
а требуется что бы выводил в том же порядке, в каком выбрано.Что это значит?
Насколько можно понять вы формируете значение некоторого ТВ на основании биндинга SELECT
Это прямой запрос в базу, в котором вы передаете как отсортировать результаты. Вот вам так и отображает.
Откуда тут может взяться " в том же порядке, в каком выбрано."
Я просто предполагаю, что наверное в БД результаты мультивыбора вносятся всё же в неком порядке. Например у меня там в выпадалке оно в таком порядке: 1, 2, 3, 4, 5. А я выбрал 5, 3, 4, и оно в БД записалось с сохранением выбранного порядка. Ну вдруг! Если нет, так нет, значит надо искать другой способ(
Там у меня этот мультиселект из ресурсов выбирает, будет обидно, если нельзя никак порядок выбранного сохранить
Там у меня этот мультиселект из ресурсов выбирает, будет обидно, если нельзя никак порядок выбранного сохранить
А я выбрал 5, 3, 4, и оно в БД записалось с сохранением выбранного порядка.
Но вы же понимаете, что в базу данных эти данные теперь записываются совсем в другую таблицу. Ваш выбор хранится как значение этого ТВ для этого ресурса и никакого отношения к запросу @SELECT `pagetitle`, `id` FROM `[[+PREFIX]]site_content` WHERE `parent` = 3 ORDER BY `pagetitle` ASC
уже не имеют.Не буду говорить что я точно уверен, что селект с множественным выбором сохранит данные именно в том порядке как вы кликнули, но мне кажется есть еще тип ТВ который звучит как метка (или тег) и он по сути тоже является мультивыбором и вот там очередность выбора (помоему) работает.
Коллега, спасибо за наводку, это действительно работает! Конечно выглядит не так гламурно, как мультиселект (в строчку вписываются id выбранных ресурсов), но функциональность здесь важнее) Может эту строку выбора можно как-то скрывать?))))
В БД будет храниться в порядке выбора и потому причина в другом, дайте угадаю, вы потом выводите ресурсы с помощью pdoResources подставляя значение TV в параметр resources?
Ага!!)))))
pdoResources по умолчанию сортирует по pagetitle вне зависимости от порядка передаваемых id в параметр resources, для получения нужного порядка нужно указать:
'sortby' => 'FIELD(modResource.id, 1,2,3)'
То есть в моем случае
'sortby' => 'FIELD(modResource.id, [[tv.artists]])'
верно? [[*artists]]
Что выводит?
Попытался вставить это и так и не понял, а куда это вставлять? Наугад потыкался, так и остался с тегом(
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.