Я пытаюсь создать родословная (другими словами генеалогическое дерево :)) таблицы из базы данных ...Родословная/Генеалогическое дерево диаграммы из базы данных
Моя схема:
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`)
)
P.S. «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
Любая помощь или подсказка высоко ценится :), Спасибо заранее