Большой Воронежский Форум
Веб-программирование>связывание одной таблицы с другой в запросе
Wertel 18:13 26.05.2011
Ищу решение одной проблемы, связанной с разработкой информационной системы дистанционного обучения.
Допустим, на одной странице есть список курсов. При нажатии на ссылку курса появляется список уроков этого курса, ну и далее - сам урок. Проблема в том, что при переходе на второй, третий и т.д. курсы открывается всё тот же список уроков первого курса. А для примера у меня имеются только уроки первого курса. Так как устранить эту проблему? Есть мысль в БД, в таблице с уроками создать поле 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));
[Ответ]
Spectator 19:08 26.05.2011
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 [Ответ]
Wertel 19:44 26.05.2011
Spectator, да я читал про это. Значит, мне нужно не свзяывание, т.к. связывание с массивом не работает по вполне понятным причинам. [Ответ]
silly 20:02 26.05.2011
Сначала нужно разобраться с отношениями один-к-одному, многие-к-одному, многие-ко-многим в схеме БД. В данном случае (что уже подмечено ТС): из таблицы course выбросить lessons_id, в таблицу lesson добавить course_id. [Ответ]
Wertel 20:22 26.05.2011
фух, оказывается всё гораздо проще. Надо было в ссылке на курс передать только параметр id курса, а на странице списка уроков курса принять его из $_GET и выбрать уроки только с course_id = переданный id (у меня в БД, в таблице уроков есть это поле, которое должно соответствовать полю номера курса).
Мда, мне ещё пилить и пилить, чтоб такие мелочи сразу замечать. Ещё б теперь тест прикрутить. [Ответ]
Вверх