![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| langolier |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 29.7.2008 Репутация: нет Всего: нет |
Здравствуйте!
Есть таблица в mySQL, "города"(id, name), также есть таблица "юзеры"(id, name и т.д.) Как сделать чтобы к одному юзеру можно было привязать больше одного(a то и все) города?? Обязательно создавать промежуточную таблицу(user_id, city_id)?? Или можно как-то проще сделать? Что бы потом можно было делать выборку всех юзер с одного города.. Городов много и юзеров будет не мало... Спасибо за ответ) |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
||||
|
||||
| langolier |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 29.7.2008 Репутация: нет Всего: нет |
||||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
вряд ли существует более рациональное решение. сами можете посмотреть в php:БД через одну темы про оптимальное построение таблиц и взаимосвязи и везде именно так и предлагается
|
|||
|
||||
| langolier |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 29.7.2008 Репутация: нет Всего: нет |
ок, спасибо за ответ
|
|||
|
||||
| langolier |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 29.7.2008 Репутация: нет Всего: нет |
А как тогда сделать запрос, что бы например показать все города для данного юзера, при учёте что может быть как 1 город, так и 3?
Таблицы: users ........Таблица с юзерами id user_name cities ........Таблица с городами id city_name user_city ........Промежуточная таблица для связи городов и юзеров city_id user_id |
|||
|
||||
| bars80080 |
|
|||
![]() прапор творюет ![]() ![]() ![]() ![]() Награды: 1 Профиль Группа: Завсегдатай Сообщений: 12022 Регистрация: 5.12.2007 Где: Königsberg Репутация: 9 Всего: 315 |
я б сделал так:
выбираем города select * from cities и здесь бы я постарался создать массив в котором id - порядковый номер, т.е. что-то вроде $mv = mysql_fetch_array($res); $city[$mv['id']] = $mv['city_name']; у нас есть user_id , значит делаем select * from user_city where user_id=$user_id затем при выводе данных по пользователю просто подставляем не id а значение массива по этому id |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 4 Всего: 91 |
что-то типа того, как правильно написать мысли проскакивали, но не успел я их зафиксировать Это сообщение отредактировал(а) gta4kv - 27.8.2008, 14:10 |
|||
|
||||
| HackMan |
|
||||
|
Юзверь-программист ![]() ![]() Профиль Группа: Участник Сообщений: 391 Регистрация: 18.6.2005 Где: .ua Репутация: нет Всего: 9 |
gta4kv, возможно ты имел в виду что-то вроде этого
Но запросы с подзапросом выполняются на несколько порядков медленнее, чем без таковых. Лучше сделать так:
Это сообщение отредактировал(а) HackMan - 28.8.2008, 04:00 -------------------- Завтра - это самый загруженный день недели ![]() ![]() |
||||
|
|||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 4 Всего: 91 |
HackMan, пытался написать второй, вышел первый.
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Базы Данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |