2017-01-12 2 views
0

Надеюсь на помощь здесь, ребята. Скажем, у меня есть таблица MySQL, как такПолучите все потомки родителя в mysql или php?

ID | Content | Parent ID | 
2 | A  | 0 
3 | A  | 2 
4 | A  | 3 
5 | A  | 4 
6 | A  | 10 
7 | A  | 0 
8 | A  | 7 
9 | A  | 8 
10 | A  | 9 

И я хотел на всех потомков ID 2.

3 является ребенком. У внуков будет любое сообщение с родительским удостоверением 3. И так далее.

В этом случае потомками ID 2 являются ID's 3, 4 and 5.

И потомки ID 7 являются ID's 8, 9, 10 and 6

Есть в любом случае я могу запросить это в MySQL без ограничений по глубине происхождения? Или даже итерации через набор результатов в php?

Большое спасибо.

+2

http://mikehillyer.com/articles/ Управляющая-иерархическая-data-in-mysql/ – Barmar

ответ

-3

необходимо нормализовать вашу базу данных https://en.wikipedia.org/wiki/Database_normalization

я понимаю ваш вопрос так:

Форум (родитель)
---- первый форум ----
forum_id = 1
forum_name = php

t hread (ребенок)

---- Первая запись ----
thread_id = 20
forum_id = 1
---- ---- Следующая запись
thread_id = 21
forum_id = 1

поста (внучка)

затем использовать присоединяется для доступа вверх и вниз , например, с нормализованной базы данных , если вы находитесь в таблице потоков вы можете получить доступ на форум он принадлежит Aswell как посты в вашей конкретной теме все в одном запросе

+0

Существующая структура OP является стандартной и хорошо поддерживается. для вашей структуры требуется новая таблица для каждого уровня. – nogad

Смежные вопросы