0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 30
|
|
1 | |
Сортировка, выборка товаров с БД18.02.2016, 15:10. Показов 3909. Ответов 33
Метки нет (Все метки)
Добрый день всем.
помогите плз сделать выборку товаров из БД, а то башка чёт не варит)) кароче поэтапно: в БД есть товары (канцтовары) и у каждого есть тип товара. тип товара может быть одинаковым у нескольких товаров. например скотч 12*20, тип (скотч канцелярский) скотч 12*30, тип (скотч канцелярский) скотч 24*20, тип (скотч канцелярский) скочт 24*30 тип (скотч канцелярский) скотч 48*100, тип (скотч упаковочный) скотч 48*200, тип (скотч упаковочный) скотч 48*300, тип (скотч упаковочный) так же у них есть номер категории. так вот: нужно, при входе на страницу с номером категории "2" (ну или другой номер который есть (номер находится в $_GET) ) в выпадающий список поместить типы товаров принадлежащим к товарам данной категории. дальше при выборе типа товара в этом, сформированном списке, выдать на страницу результат (при отправке, данные выбранные в списке, нужно отправит в $_GET). ну в общем как то так. давайте пообщаемся, может наталкнете меня на мысль. спасибо!
0
|
18.02.2016, 15:10 | |
Ответы с готовыми решениями:
33
Сортировка товаров Сортировка товаров Не работает сортировка товаров при выводе из БД mysql Сортировка товаров по цене не учитывает их постраничный вывод!!! |
52 / 52 / 39
Регистрация: 15.11.2014
Сообщений: 696
|
||||||
18.02.2016, 16:13 | 3 | |||||
Если я правильно понял, то нужно например, сделать выборку по одной категории и чтобы в ней отображался определенный тип скотча. Тогда нужно вытаскивать данные по двум условиям: по категории (допустим номер 2) и по типу (допустим упаковочный скотч).
Тогда запрос должен выглядеть так:
0
|
52 / 52 / 39
Регистрация: 15.11.2014
Сообщений: 696
|
|
18.02.2016, 16:23 | 5 |
Двойное равно это php синтаксис, а в sql (для выборки из таблицы из базы) нужно одно равно
0
|
Gcom
|
18.02.2016, 16:25
#6
|
0
|
52 / 52 / 39
Регистрация: 15.11.2014
Сообщений: 696
|
|
18.02.2016, 16:30 | 7 |
Gcom, тем более нужно выбирать по канцелярскому типу или упаковочному и по номеру категории
Как было сказано: Gcom, или что вы имели в виду под sidor84, в общем повторюсь
0
|
18.02.2016, 16:34 | 8 |
Mikhail Shell,
"скотч канцелярский" == "2" и "скотч упаковочный" == "3"
Я так понял Добавлено через 1 минуту Mikhail Shell, тут остается только гадать, пока ТС не внесет ясности.
0
|
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 30
|
|
18.02.2016, 17:15 [ТС] | 9 |
номер категории у меня определяет саму категорию
cat 1 = бумага cat 2 = упаковочные материалы и тд если мы зайдем в cat 2 = упаковочные материалы то увидим много разных товаров скотч упаковочный, стрейч пленка, скотч канцелярский вот как раз в выпадающем списке пользователь сможет выбрать какой тип товара ему отобразить но при этом товары с разными характеристиками, но у них один тип. (человек хочет увидеть только скотч канцелярский) вот я застрял на следующем: как мне выгрузить из БД типы товаров (но не все подряд а объединить одинаковые) допустим у меня в БД товар 1 - - тип 1 товар 2 - - тип 1 товар 3 - - тип 2 товар 4 - - тип 3 товар 5 - - тип 2 товар 6 - - тип 3 в списке должно отражаться тип1 тип2 тип3 при выборе тип2 выводим товар 3 - - тип 2 товар 5 - - тип 2
0
|
18.02.2016, 17:23 | 10 |
Как реализовано это в БД, все в одной таблице? Или разбито на не сколько? Во всяком случае нужно знать "имена" полей и таблиц, что бы сделать запрос на выборку данных из нее
Добавлено через 46 секунд Напишите каким запросом пытаетесь выбрать данные?
0
|
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 30
|
|
18.02.2016, 17:50 [ТС] | 11 |
id | cat | description | img | price | brand | tip_kanc
Добавлено через 3 минуты Да, все в одной таблице 2 | 2 | Скотч 40 мкм. Упаковочный скотч 48*100 | /skotch.jpg | 74.72 | Asmar | Скотч упаковочный Добавлено через 1 минуту По поводу запроса: для выгрузки по типам, его нет. я ж поэтому поводу тут и прошу.))
0
|
18.02.2016, 18:09 | 12 |
sidor84, по нормальному создать таблицу "типов" внести в нее их, а "первую" таблицу привести к виду
id | cat | description | img | price | brand | id_tip_kanc id (id_tip_kanc) | name 1 | Скотч упаковочный 2 | Cкотч канцелярский 2 | 2 | Скотч 40 мкм. Упаковочный скотч 48*100 | /skotch.jpg | 74.72 | Asmar | 1 Да честно сказать, тут вообще нормализация не помешает этой таблице, да и всей БД в целом, а то так и будите "тупить над реализацией", каждый раз, когда что либо надо "добавить/подправить"
0
|
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 30
|
|
18.02.2016, 18:15 [ТС] | 13 |
но при такой таблице же это возможно?
напишите плз как отобрать по типу и сформировать это в список
0
|
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 30
|
|
18.02.2016, 18:24 [ТС] | 15 |
Да, все правильно, этим запросом мы выбираем товар из БД, и выводим итоговый результат.
это я знал как сделать. тут то вопрос в другом. как мне наименование типов из "tip_kanc" вывести в список??? причем не просто все подряд, а одинаковые объединить. т.е. список должен быть такой: тип1 тип2 тип3 а не такой: тип1 тип1 тип1 тип2 тип2 тип2 тип2 тип2 тип2 тип2 тип3 тип3
0
|
18.02.2016, 18:38 | 16 |
Если бы была отдельная таблица, то одним запросом можно было получить этот список, а так придется попыхтеть, как вариант, результаты запроса закинуть в массив, и уже с ним работать, но опять же, "не верный шаг" и можно с логикой пролететь (сохранить целостность логических связок данных внутри таблицы), так что крепитесь, стадия мазохизма только началась
0
|
52 / 52 / 39
Регистрация: 15.11.2014
Сообщений: 696
|
||||||
18.02.2016, 18:40 | 17 | |||||
Сообщение было отмечено sidor84 как решение
Решение
sidor84, то есть вам нужно выбирать уникальные tip_kanс?
Чтобы вытащить уникальные типы нужно использовать GROUP BY типы. Например,
1
|
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 30
|
|||||||||||
18.02.2016, 19:10 [ТС] | 18 | ||||||||||
Спасибо, но что то пошло не так:
Но вообще направление в диалоге мы с Вами верное выбрали)
0
|
Заблокирован
|
|
18.02.2016, 19:14 | 19 |
Mikhail Shell, вы с DISTINCT путаете. GROUP BY нужен только для агрегатных функций. Для задач ТСа достаточно сделать сортировку (ORDER BY) по tip_kanс в первую очередь, а потом просто выводить однотипные записи в отдельных блоках.
Добавлено через 1 минуту sidor84, а вы в цикле вывод делаете?
0
|
0 / 0 / 0
Регистрация: 28.03.2015
Сообщений: 30
|
|
18.02.2016, 19:16 [ТС] | 20 |
А поподробнее можно
Добавлено через 54 секунды Ну принт_р выводит же весь массив
0
|
18.02.2016, 19:16 | |
18.02.2016, 19:16 | |
Помогаю со студенческими работами здесь
20
Выборка из базы и сортировка по алфавиту SimpleXml сортировка и выборка данных Выборка и сортировка самых популярных записей из MySQL Выборка из таблици товаров по самому максимальному рейтингу магазина, рейтинг мазаницов если есть одиноковые, выборка уже по минимальной цене Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства
Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
|
Что такое NullReferenceException и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
|
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
|
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
|
Telegram бот на C#
InfoMaster 08.01.2025
Разработка ботов для Telegram стала неотъемлемой частью современной экосистемы мессенджеров. C# предоставляет мощный и удобный инструментарий для создания разнообразных ботов, от простых. . .
|
Использование GraphQL в Go (Golang)
InfoMaster 08.01.2025
Go (Golang) является одним из наиболее популярных языков программирования, используемых для создания высокопроизводительных серверных приложений. Его архитектурные особенности и встроенные. . .
|
Что лучше использовать при создании класса в Java: сеттеры или конструктор?
Alexander-7 08.01.2025
Вопрос подробнее:
На вопрос: «Когда одновременно создаются конструктор и сеттеры в классе – это нормально?» куратор уточнил: «Ваш класс может вообще не иметь сеттеров, а только конструктор и геттеры. . .
|
Как работать с GraphQL на TypeScript
InfoMaster 08.01.2025
Введение в GraphQL и TypeScript
В современной разработке веб-приложений GraphQL стал мощным инструментом для создания гибких и эффективных API. В сочетании с TypeScript, эта технология. . .
|
Счётчик на базе сумматоров + регистров и генератора сигналов согласования.
Hrethgir 07.01.2025
Создан с целью проверки скорости асинхронной логики: ранее описанного сумматора и предополагаемых fast регистров. Регистры созданы на базе ранее описанного, предполагаемого fast триггера. То-есть. . .
|
Как перейти с Options API на Composition API в Vue.js
BasicMan 06.01.2025
Почему переход на Composition API актуален
В мире современной веб-разработки фреймворк Vue. js продолжает эволюционировать, предлагая разработчикам все более совершенные инструменты для создания. . .
|
Архитектура современных процессоров
inter-admin 06.01.2025
Процессор (центральный процессор, ЦП) является основным вычислительным устройством компьютера, которое выполняет обработку данных и управляет работой всех остальных компонентов системы. Архитектура. . .
|
История создания реляционной модели баз данных, правила Кодда
Programming 06.01.2025
Предпосылки создания реляционной модели
В конце 1960-х годов компьютерная индустрия столкнулась с серьезными проблемами в области управления данными. Существовавшие на тот момент модели данных -. . .
|