Подскажите как лучше реализовать архитектуру! Вот например есть таблица с пользователями users и таблица с заказами orders. Когда пользователь из таблицы users принимает заказ из таблицы orders, то к записи заказа в специально отведенное поле, записывается идентификатор пользователя в виде его имени. Вот теперь вопрос, как разделить права на видимость взятых заказов!? Вот например чтобы пользователь мог видеть заказы из таблицы только с его идентификатором и не видеть заказы других пользователей?
запрос должен выглядеть в стиле where id=name? и как сделать чтобы при обращении к orders запрос определил значение name из таблицы users?
Спасибо всем откликнувшимся!
1. b0lsh0i_b0ber - 29 Сентября, 2011 - 17:51:31 - перейти к сообщению
2. MrBeard - 29 Сентября, 2011 - 18:16:05 - перейти к сообщению
Цитата:
запрос должен выглядеть в стиле where id=name? и как сделать чтобы при обращении к orders запрос определил значение name из таблицы users?
в таблицу orders нужно записывать не идентификатор в виде имени, а идентификатор в виде primary key из таблицы users(хотя, может я вас неправильно понял)
запрос, который позволяет определённому пользователю получить только ордеры с его ID действительно выглядит примерно так
получить имя пользователя можно, если присоединить вторую таблицу(хотя зачем оно вам при запросе ордеров по уже известному пользователю - не пойму)) )
выглядеть это будет примерно так -
CODE (SQL):
скопировать код в буфер обмена
скопировать код в буфер обмена
- SELECT orders.*, users.user_name
- FROM orders
- JOIN users USING(user_id)
- WHERE user_id = $userID