/ Published in: PHP
Как Ñделать вывод из неÑкольких таблиц (php mysql)
Итак, имеем:
Три таблицы - articles, categories и sections. По иерархии - в sections включаютÑÑ categories, а в categories включаютÑÑ articles. По таблицам Ñто выглÑдит так:
Articles(id, title, categoryID, sectionID)
Categories(id, title, sectionID)
Sections(id, title)
То еÑÑ‚ÑŒ ключевым ÑвлÑетÑÑ id в каждой таблице, и именно Ñ Ð¿Ð¾Ð¼Ð¾ÑˆÑŒÑŽ его надо определÑÑ‚ÑŒ ÐºÐ°ÐºÐ°Ñ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ð¾Ñ‚Ð½Ð¾ÑитÑÑ Ðº какому разделу и ÐºÐ°ÐºÐ°Ñ ÑÑ‚Ð°Ñ‚ÑŒÑ Ð¾Ñ‚Ð½Ð¾ÑитÑÑ Ðº какой категории.
Ðужно:
Сделать Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð² базу данных, получить данные и Ñоздать из них, наверно, маÑÑив.
Затем вывеÑти данные в формате:
Section1
Category1_of_Section1
Article1_of_Category1
Article2_of_Category1
Article3_of_Category1
...
ArticleN_of_Category1
Category2_of_Section1
Article1_of_Category2
Article2_of_Category2
...
ArticleN_of_Category2
Category3_of_Section1
...
CategoryN_of_Section1
Section2
...
SectionN
То еÑÑ‚ÑŒ чтобы выводилиÑÑŒ вÑе разделы по очереди, и при Ñтом каждый включал в ÑÐµÐ±Ñ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ð¸, которые отноÑÑÑ‚ÑÑ Ðº нему. Ð ÐºÐ°Ð¶Ð´Ð°Ñ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ, в Ñвою очередь, включала в ÑÐµÐ±Ñ Ñтатьи, которые отноÑÑÑ‚ÑÑ Ðº ней.
Как Ñто можно Ñделать? php и mysql.
Итак, имеем:
Три таблицы - articles, categories и sections. По иерархии - в sections включаютÑÑ categories, а в categories включаютÑÑ articles. По таблицам Ñто выглÑдит так:
Articles(id, title, categoryID, sectionID)
Categories(id, title, sectionID)
Sections(id, title)
То еÑÑ‚ÑŒ ключевым ÑвлÑетÑÑ id в каждой таблице, и именно Ñ Ð¿Ð¾Ð¼Ð¾ÑˆÑŒÑŽ его надо определÑÑ‚ÑŒ ÐºÐ°ÐºÐ°Ñ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ Ð¾Ñ‚Ð½Ð¾ÑитÑÑ Ðº какому разделу и ÐºÐ°ÐºÐ°Ñ ÑÑ‚Ð°Ñ‚ÑŒÑ Ð¾Ñ‚Ð½Ð¾ÑитÑÑ Ðº какой категории.
Ðужно:
Сделать Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð² базу данных, получить данные и Ñоздать из них, наверно, маÑÑив.
Затем вывеÑти данные в формате:
Section1
Category1_of_Section1
Article1_of_Category1
Article2_of_Category1
Article3_of_Category1
...
ArticleN_of_Category1
Category2_of_Section1
Article1_of_Category2
Article2_of_Category2
...
ArticleN_of_Category2
Category3_of_Section1
...
CategoryN_of_Section1
Section2
...
SectionN
То еÑÑ‚ÑŒ чтобы выводилиÑÑŒ вÑе разделы по очереди, и при Ñтом каждый включал в ÑÐµÐ±Ñ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ð¸, которые отноÑÑÑ‚ÑÑ Ðº нему. Ð ÐºÐ°Ð¶Ð´Ð°Ñ ÐºÐ°Ñ‚ÐµÐ³Ð¾Ñ€Ð¸Ñ, в Ñвою очередь, включала в ÑÐµÐ±Ñ Ñтатьи, которые отноÑÑÑ‚ÑÑ Ðº ней.
Как Ñто можно Ñделать? php и mysql.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
$sections[$row->id] = $row; } $categories[$row->id] = $row; } $id = $row->id; $sid = $row->sectionID; $cid = $row->categoryID; $tree[$sid]['section'] = $sections[$sid]; } $tree[$sid][$cid]['category'] = $category[$cid]; } $tree[$sid][$cid]['article'] = $row; }