- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Имеется заполненная база данных товаров, необходимо придумать механизм вывода их с группированием. Сейчас поясню на примере.
Допустим, товары имеют id от 1 до 100. Необходимо сгруппировать товары 3,15 и 45, чтобы вывод происходил в следующей последовательности:
1,2,3,15,45,4,5,6,7,8,9,10,11,12,13,14,16,17...
Использовать дополнительное поле, например, position, и сортировать по нему нельзя, потому что в таком случае все группы окажутся в начале вывода
3,15,45,1,2,4,5,6,7,8,9,10,11,12,13,14,16,17...
order by field(id,3,15,45) - как-то так.
посмотрите мануал по функции field
Нормально надо БД проектировать.
Для группировки (по категориям) надо использовать дополнительное поле.
3,15,45,1,2,4,5,6,7,8,9,10,11,12,13,14,16,17...
1,2 - position = 1
3,15,45 - position = 2
4,5,6 - position = 3
и т.д.
Так низя?
Хотя, судя по всему я ваш вопрос не понял.
Как вариант - назначить каждом товару поле "группа" и сортировать по нему через field() аналогично, не?
Естественно, базу данных можно перекроить под новые требования, введя новые поля. Без этого и не получится. Просто изначально такой группировки не предусматривалось.
Сейчас нужно определить метод создания групп и метод вывода с группировкой.
Допустим, созданы две группы товаров: 3,8,9 и 5,11,13
Основная сортировка при выводе, например, ведётся по id, но когда встретился первый товар группы, следом за ним нужно вывести остальные товары его группы, а затем продолжить вывод по id:
1,2,3,8,9,4,5,11,13,6,7,10,12,14,15...