Карта родословной / древовидной структуры из базы данных

Я пытаюсь генерировать родословную (другими словами, генеалогическое дерево :)) таблицу из базы данных …

Моя схема:

CREATE TABLE `horses` ( `horse_id` int(10) NOT NULL AUTO_INCREMENT, `horse_name` varchar(32) NOT NULL, `horse_sire` int(10) DEFAULT NULL, `horse_dam` int(10) DEFAULT NULL, PRIMARY KEY (`horse_id`), KEY `FKsire` (`horse_sire`), KEY `FKdam` (`horse_dam`), CONSTRAINT `FKdam` FOREIGN KEY (`horse_dam`) REFERENCES `horses` (`horse_id`), CONSTRAINT `FKsire` FOREIGN KEY (`horse_sire`) REFERENCES `horses` (`horse_id`) ) 

ps «horse_dam» и «horse_sire» представляют родителей … Я потратил дни на эту проблему, искал, экспериментировал … И в настоящее время у меня есть это отчасти решение:

 display_children($selected_horse_id, 5); function display_children($parent, $level) { mysql_connect('localhost','root',''); mysql_select_db('hdb'); $result = mysql_query('SELECT * FROM horses WHERE horse_id="'.$parent.'";'); while ($row = mysql_fetch_array($result)) { echo "<tr><td>"; echo $row['horse_name']; echo "</td></tr>"; display_children($row['horse_dam'], $level+1); display_children($row['horse_sire'],$level+1); } } 

который генерирует таблицу в одной строке 🙁 Я не могу придумать правильный способ ее реализации … И результатом, который я хочу, является Pedigree Query

Любая помощь или намек высоко оценены :), Спасибо заранее