За последние 24 часа нас посетили 16520 программистов и 1564 робота. Сейчас ищут 2018 программистов ...

Помогите составить запрос

Тема в разделе "MySQL", создана пользователем djyell, 12 июл 2008.

  1. djyell

    djyell Активный пользователь

    С нами с:
    12 июл 2008
    Сообщения:
    8
    Симпатии:
    0
    Создаю музыкальный каталог и в нём нужна сортировка по полям альбом, год, жанр и исполнитель.

    При нажатии на Исполнитель, должны выводиться все альбомы исполнителя. Как организовать связь исполнителя с альбомами?
     
  2. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    таблица исполнитель. Поля: id, name
    пример:
    ...
    5;комбинация
    6;филя киркоров
    ...

    таблица альбом. Поля: id, name, performer
    пример:
    1;бухгалтер;5
    2;зайка моя;6
    3;ещекакоетоговно;5,6 //дескать вместе пели
     
  3. djyell

    djyell Активный пользователь

    С нами с:
    12 июл 2008
    Сообщения:
    8
    Симпатии:
    0
    А как всё это вытащить из базы?
    Тоесть какие должны быть ссылки: artist.php?id=%s ?
     
  4. djyell

    djyell Активный пользователь

    С нами с:
    12 июл 2008
    Сообщения:
    8
    Симпатии:
    0
    performer - это что?
     
  5. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    lingvo.ru говорит, что это исполнитель.

    какие должны быть ссылки? тебе решать. Хоть даже /?do=album&id=2

    примерный алгоритм:
    $result = query(SELECT * FROM альбом WHERE id=2)
    list( ... $performer ...) = fetchrow($result)
    query(SELECT name FROM исполнитель WHERE id=$performer)
     
  6. Cron

    Cron Активный пользователь

    С нами с:
    10 июл 2008
    Сообщения:
    289
    Симпатии:
    0
    Адрес:
    Украина, Сумы
    Если большая база, то потом в этих id запутаться можно!

    Лучше уже в первой таблице назвать id_исполнитель, а id во второй таблице заменить на id_песни (ну на английском языке понятно :). Тогда вторая таблица будет иметь структуру id_песни, имя, id_исполнителя. При виде на таблицу так сразу видно с какой она связана и как.

    Мне такой способ очень помогает.
     
  7. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    ну, это да. Я в принципе всегда так и делаю, правда иногда имена полей получаются большими. Тогда вместо `categoty_id` пишу просто `cid`
     
  8. djyell

    djyell Активный пользователь

    С нами с:
    12 июл 2008
    Сообщения:
    8
    Симпатии:
    0
    А можно пример таблиц базы и пример запроса, а то не могу никак сообразить...
     
  9. lexa

    lexa Активный пользователь

    С нами с:
    22 июл 2007
    Сообщения:
    1.746
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
  10. djyell

    djyell Активный пользователь

    С нами с:
    12 июл 2008
    Сообщения:
    8
    Симпатии:
    0
    спасибо большое!