Я хочу, чтобы мои пользователи могли сделать корзину с фруктами, но также позволяя заказать их так, как они хотят. Я попытаюсь объяснить свою проблему самым простым способом.MySQL - Пользовательский заказ для каждого пользователя
Одна таблица «пользователь» содержит пользователей с полем автоматического увеличения.
-----------------
| id | username |
-----------------
У меня есть один стол «фрукты», ведьма содержит фрукты.
--------------
| id | fruit |
--------------
И я хочу, чтобы пользователи могли иметь тележку, содержащую фрукты, так что я создал таблицу «телегу»:
---------------------------
| id | user_id | fruit_id |
---------------------------
Так, например,
я в «фрукты» :
--------------
| 1 | Banana |
| 2 | Apple |
| 3 | Orange |
--------------
Если пользователь 1 хочу один из каждого я бы в «корзину»
---------------------------
| id | user_id | fruit_id |
---------------------------
| 1 | 1 | 1 |
| 2 | 1 | 2 |
| 3 | 1 | 3 |
---------------------------
Так что, если я исполню:
SELECT fruit_id FROM cart WHERE user_id = 1;
я бы:
------------
| fruit_id |
------------
| 1 |
| 2 |
| 3 |
------------
Но я хочу, чтобы мой пользователь через массив JQuery Сортируемый переставить свою тележку так, что MySQL будет сортировать их для него.
Я, хотя один из решений, который, кажется, не лучший способ; Переделайте таблицу «cart» с user_id и строку fruit_id, мне нужно будет разобрать.
Второй способ состоял в том, чтобы удалить записи и повторно ввести их в порядке, чтобы сортировка по идентификатору сортировала их, но я тоже не очень доволен этой ситуацией.
Знаете ли вы о лучшем/чистом способе сделать это?
Благодарим вас за понимание или комментарий/знания.
Либо добавить новый столбец в CART таблицы с именем sort_order. Или выполните сортировку кода с чем-то вроде этого: 'SELECT fruit_id FROM cart WHERE user_id = 1 order by find_in_set (fruit_id, '3,1,2')' –