Я пытаюсь изучить MySQL, поэтому я создал небольшую систему блогов.
У меня есть 3 таблицы в MySQL:
сообщений
:
id | title
----------------
1 | Post Title 1
2 | Post Title 2
категорий
:
id | title | parent
--------------------------------
10 | category10 | 0
11 | category11 | 0
12 | category12 | 10
post_category_relations
:
id | post_id | category_id
----------------------------------
1 | 1 | 10
2 | 2 | 12
3 | 3 | 11
У каждого сообщения может быть несколько категорий, их отношение хранится в post_category_relations:
Итак, когда я захожу на index.php? Category = 10, я хотел бы получать каждое сообщение, что есть относится к category10
, включая сообщения из ее дочерней папки category12
, а также.
My Unfinished Snippet in PHP
$folder_id = $_GET["category"]; // Get Category ID from the URL
$sql = "SELECT * FROM posts
JOIN categories
JOIN post_category_relations
// And I don't really know what should I do here
// because I need the child categories first, then the relations
// then I can get the post too from the post_id of the relations
";
mysql_query($sql);
Я знаю, что это потребует продвинутых навыков MySQL, но любая помощь ценится! Я уже сделал это в PHP, но мне нужно использовать 4 цикла, что не лучший способ сделать это, когда это возможно в MySQL, я просто еще не знаю, как :)