Если это ваш первый визит, рекомендуем почитать справку по форуму. Для размещения своих сообщений необходимо зарегистрироваться. Для просмотра сообщений выберите раздел. |
![]() |
||
![]() |
![]() |
|
Опции темы
![]() |
![]() |
#1 |
Жизнелюб
Сообщений: 1,406
Регистрация: 23.09.2006
Возраст: 34
![]() |
связывание одной таблицы с другой в запросе
Ищу решение одной проблемы, связанной с разработкой информационной системы дистанционного обучения.
Допустим, на одной странице есть список курсов. При нажатии на ссылку курса появляется список уроков этого курса, ну и далее - сам урок. Проблема в том, что при переходе на второй, третий и т.д. курсы открывается всё тот же список уроков первого курса. А для примера у меня имеются только уроки первого курса. Так как устранить эту проблему? Есть мысль в БД, в таблице с уроками создать поле course_id, но как его связать с таблицей курсов? или наоборот. То есть надо, чтобы при переходе на все курсы, кроме первого появлялась ожидаемая ошибка, сообщающая об отсутствии страницы. привожу код своего запроса, он и выводит на странице ссылки на курсы с описанием: Код:
$result = mysql_query ("SELECT id,title,description,date,lessons_id FROM course", $db); $myrow = mysql_fetch_array($result); do { printf (" <table align='center' class='lesson'> <tr> <td class='lesson_title'><p class='lesson_name'><a href='view_course.php?id=%s&lessons_id=%s'>%s</a></p> <p class='lesson_adds'>Дата добавления: %s</p> </tr> <tr> <td>%s</td> </tr> </table><br><br>", $myrow["id"],$myrow["lessons_id"],$myrow["title"],$myrow["date"],$myrow["description"]); } while ($myrow = mysql_fetch_array($result)); |
![]() |
![]() |
![]() |
#2 |
Форумец
Сообщений: 41,724
Регистрация: 27.05.2003
Возраст: 47
![]() |
WHERE вообще
http://www.ageent.ru/sql-where Связывание таблиц конкретно http://www.compress.ru/Archive/CP/2000/10/10/index1.htm P.S. Вясна, студенты расцвели)))) P.P.S. Совершенно случайно на эту тему наткнулся, тебе бы лучше в программирование перенестись ![]() http://bvf.ru/forum/forumdisplay.php?f=30 |
![]() |
![]() |
![]() |
#4 |
highly mean
Сообщений: 1,128
Регистрация: 26.05.2011
Возраст: 35
![]() |
Сначала нужно разобраться с отношениями один-к-одному, многие-к-одному, многие-ко-многим в схеме БД. В данном случае (что уже подмечено ТС): из таблицы course выбросить lessons_id, в таблицу lesson добавить course_id.
|
![]() |
![]() |
![]() |
#5 |
Жизнелюб
Сообщений: 1,406
Регистрация: 23.09.2006
Возраст: 34
![]() |
фух, оказывается всё гораздо проще. Надо было в ссылке на курс передать только параметр id курса, а на странице списка уроков курса принять его из $_GET и выбрать уроки только с course_id = переданный id (у меня в БД, в таблице уроков есть это поле, которое должно соответствовать полю номера курса).
Мда, мне ещё пилить и пилить, чтоб такие мелочи сразу замечать. Ещё б теперь тест прикрутить. |
![]() |
![]() |