Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Вывод данных из таблицы
Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Всем привет,
сделал таблицу в которой есть станции Питерского метро, они все находятся в одной ячейке. Мне нужно отсортировать данные относительно конкретного метро. Как это сделать?
Допустим у меня человек живет рядом с тремя станциями: Невский, Маяковская, Восстание. Когда я фильтрую по Невскому, то я его вижу и т.д..
спасибо!
caballero
Отправлено: 30 Октября, 2011 - 02:39:59
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Сл-но человек может выбрать множество станций , а не только одну. Если он выбирает несколько то в базу они записываются через запятую. Запись производится посредством:
$base=mysql_query("SELECT * FROM $table WHERE metro='Маяковская'",$db);
Но у меня ничего не появляется, хотя должны повлятся данные из 2 и 3 строк. если я фильтрую по "Невскому", то отображается только 1 строка, а должны: 1 и 2.
Вопрос
Как сделать так чтобы все работало верно, explod'ом не получилось... хотя наверное не правильно сделал..
Спасибо
Мелкий
Отправлено: 30 Октября, 2011 - 16:30:31
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Т.е. связь многие-ко-многим.
В рамках реляционной модели подобное делается так:
таблица пользователей не содержит никаких данных данных о ближайшем метро
есть таблица станций метрополитена
есть таблица связей - составной ключ по пользователю и по id станции.
----- PostgreSQL DBA
abm
Отправлено: 30 Октября, 2011 - 16:58:36
Новичок
Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Не совсем понял,
можно про это по подробнее:
Цитата:
есть таблица связей - составной ключ по пользователю и по id станции.
Itan
Отправлено: 30 Октября, 2011 - 19:38:55
Частый гость
Покинул форум
Сообщений всего: 199
Дата рег-ции: Окт. 2008
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
abm, с какого места подробнее? Обычная таблица, 2 поля. Первичный ключ на оба. (Добавление)
Itan пишет:
И только потом, по-идее, надо делать разбор по explode.
Но всё же, лучше сделать правильно.
----- PostgreSQL DBA
abm
Отправлено: 30 Октября, 2011 - 21:47:20
Новичок
Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2011
Помог: 0 раз(а)
Itan - Lik'ом вариант конечно, если не получится "понять что имеет ввиду" b]Мелкий[/b], то так и сделаю...
Мелкий,
Цитата:
еще изучаю это все, может строка:
как я писал, я все это пока изучаю и не оч. хорошо разбираюсь...
Я понял, что ты рекомендуешь в двух таблицах это делать, согласен есть смысл. Но как мне это реализовать, можешь на пальцах по подробнее объяснить.. Что значит:
Цитата:
Первичный ключ на оба
спс
DeepVarvar
Отправлено: 30 Октября, 2011 - 22:17:19
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
abm, таблицы три, а не две:
1) Юзеры. (айди, имя)
2) Станции метро. (айди, название)
3) Связи. (тут просто айдишники: метро - юзер, метро - юзер, метро - юзер...)
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.