Сортировка MySQL с помощью PHP - PullRequest
2 голосов
/ 25 марта 2012

У меня есть несколько относительно простых вопросов о том, как работает MySQL с PHP.Для начала я создал таблицу «продукты».Вот таблица:

-----------------------------------------------------------------------
| name                          | brand   | type      | color | price |
|-------------------------------+---------+-----------+----------------
| Samsung S5230 (white          | samsung | s5230     | white |    80 |
| Samsung S5230 (black)         | samsung | s5230     | black |    95 |
| Samsung Wave 723 (black)      | samsung | wave723   | black |   200 |
| Apple iPhone 4G 16GB (white)  | apple   | iphone4g  | white |   500 |
| Apple iPhone 4G 32GB (white)  | apple   | iphone4g  | white |   600 |
| Apple iPhone 4G 16GB (black)  | apple   | iphone4g  | black |   450 |
| Apple iPhone 4G 32GB (black)  | apple   | iphone4g  | black |   550 |
| Apple iPhone 3GS 16GB (white) | apple   | iphone3gs | white |   300 |
| Apple iPhone 3GS 8GB (black)  | apple   | iphone3gs | black |   200 |
-----------------------------------------------------------------------

Я хочу создать скрипт PHP, который сортирует мои продукты.Я хочу отсортировать комбинации на картинке ниже: enter image description here

Первое изображение - это состояние по умолчанию.Второе изображение, когда флажок Samsung установлен.Третье изображение - когда флажок Apple установлен.Сортировать по цене меню имеет 3 варианта: Случайный, По возрастанию, По убыванию.СПИСОК ПРОДУКТОВ ЗДЕСЬ это место, где я хочу сделать выбор MySQL.Спасибо за ваше время, привет.

Ответы [ 2 ]

1 голос
/ 25 марта 2012

Что ж, учитывая, что вы хотите сортировать так много опций, я бы посоветовал не писать миллиард SQL-запросов для получения правильного порядка, так как он не очень-то масштабируемый или эффективный, не говоря уже о недостатке дизайна..

Я бы вместо этого получил весь набор результатов и отсортировал его, используя javascript, для этого есть отличный плагин jQuery, который называется tablesorter

.
0 голосов
/ 25 марта 2012

Что ж, для решения такого рода проблем (где не все продукты имеют одинаковые поля фильтрации (что, кстати, отличается от сортировки)), я использую таблицу отношений «многие ко многим», например:

FieldsToBrands
-------------------
brand_id | field_id
-------------------
1          1
1          2
2          2

Brands
---------------------
brand_id | brand_name
---------------------
1          Apple
2          Samsung

Fields
---------------------
field_id | field_name
---------------------
1          Color
2          Space

Что означает, что у Apple есть и Цвет, и Пространство, а у Samsung только Космос. Это называется отношением «многие ко многим» между таблицами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...