За последние 24 часа нас посетили 34333 программиста и 1709 роботов. Сейчас ищут 805 программистов ...

связь один ко многим

Тема в разделе "PHP для новичков", создана пользователем Кубик, 9 май 2017.

  1. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Здравствуйте!
    С праздником!
    Подскажите, почему у меня в в phpmyadmin нету поля "связи" ?
     
  2. _ne_scaju_

    _ne_scaju_ Старожил

    С нами с:
    25 ноя 2016
    Сообщения:
    2.149
    Симпатии:
    118
    @Кубик
    Ты за какую связь говоришь?
    Есть в пхпмуадмин с верху типа, поле связи или ещё его называют дизайнер если я не ошибаюсь. А вообще есть первичный индексовый ключ и т.д. может из них эту связь тебе надо делать?
     
  3. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
  4. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    связать две таблицы, в одной жанры в другой фильмы, к жанру привязать фильмы
     
  5. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Создай таблицу назови filmsRelated
    и в ней первое поле это id жанра, а второе поле это id фильма. И запихивай туда свою связь, логику понял?
     
  6. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Фильм и жанр - это не один ко многим, это многие ко многим: у фильма может быть несколько жанров, и у тебя может быть несколько фильмов каждого жанра. Делается через промежуточную таблицу, как написал @askanim. Про связи - вы имеете в виду внешние ключи в таблице? Честно говоря, я ими не пользуюсь, поскольку снижается гибкость работы с базой.
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я думал меня одного внешние ключи бесят
     
  8. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Как сделать связь ?
     
  9. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    @Кубик, тебе же написали
    @askanim только забыл сказать, что это называется многие-ко-многим
     
  10. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @mkramer ну да, я прост подумал что как жанр может относится ко многим фильмам так и фильм ко многим жанрам... А сказать забыл :D
     
  11. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Как запихать туда свою связь ?
     
  12. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @Кубик а подумать, попробовать, представить или ещё как нибудь пошевелить мозгами? Давай ты попробуешь покажешь, а мы если что тут подправим.
    --- Добавлено ---
    На вот думай и вникай!
    vuHJwlJ_qRo.jpg
     
  13. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Создаёшь таблицу, и потом из php руками в неё пишешь что надо.
     
    askanim нравится это.
  14. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    Я не спрашивал что с чем связывать. Я не знаю как сделать саму связь одного поля с другим.
     
  15. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Я тебе уже рассказал как сделать, я даже тебе нарисовал, тебе даже намекнули что тебе нужно в php написать обработку для заполнения этих связей... Может за тебя ещё сделать всё на php ? И запросы написать и архитектуру построить в бд?
     
  16. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @Кубик, твой вопрос такой поверхностный, что не понять даже что тебе нужно.
     
  17. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @mahmuzar Да понятно что ему нужно, просто он думать не хочет, но хочет чтобы ему дали готовый код.
     
  18. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    поле одной таблицы связать с полем другой таблицы, как ?
     
  19. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @Кубик Ты картинку посмотрел которую я тебе дал?
     
  20. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    посмотрел! толку от этой картинки? у меня своя картинка в голове!
     
  21. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    Выложи свою картинку тоже, мы посмотрим.
     
    askanim нравится это.
  22. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @Кубик Так давай определимся кое с чем:
    1.Ты хочешь понять как сделать? (Соответственно понять как делать правильно)
    2. Или ты хочешь чтобы сделали за тебя?
    Выбери вариант ответа. 1 или 2
     
  23. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    На уровне базы делается https://dev.mysql.com/doc/refman/5.6/en/create-table-foreign-keys.html
    Но я никогда так не делаю.
    Просто когда создаёшь фильм, делаешь элементарный запрос:
    PHP:
    1. mysqli_query($link, "insert into films .....");
    2. $film_id = mysqli_last_insert_id($link);
    3.  
    4. mysqli_query($link, "insert into filmsRelated ($film_id, 1), ($film_id, 2)");
    Если очень хочется делать внешние ключи в mysql, то под структурой таблицы в phpmyadmin есть
    upload_2017-5-10_17-19-10.png

    на кой это тебе - я не знаю
     
    Кубик нравится это.
  24. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @mkramer сейчас он тебе ещё кучу вопрос задаст, а как, а чего, а что такое mysqli ;)
     
  25. Кубик

    Кубик Новичок

    С нами с:
    21 мар 2017
    Сообщения:
    92
    Симпатии:
    0
    форум не для этого ?