Возможный дубликат:
функция возвращается только один раз, почему? а>
моя структура базы данных выглядит так
id|parent|
1 | 0 |
2 | 0 |
3 | 0 |
4 | 1 |
5 | 4 |
6 | 5 |
Мне нужна функция, которая получает родителя (т.е. родитель = 0) для идентификатора в качестве параметра. Например.. get_parent (6) == возвращает 1. Я провел некоторое исследование и нашел этот вопрос
Как я могу рекурсивно получить родительский идентификатор строк в этой таблице MySQL?
Я пытался сделать эту функцию
function get_parent_id($cid,$found=array())
{
array_push($found,$cid);
$sql="SELECT * FROM tbl_destinations WHERE id=$cid";
$result = mysql_query($sql) or die ($sql);
if(mysql_num_rows($result))
{
while($row = mysql_fetch_assoc($result))
{
$found[] = get_parent_id($row['parent'], $found);
}
}
return $found;
}
я звоню по
$fnd=get_parent_id();
$array_reverse($fnd);
$parent_root=$fnd['0'];
Но мой метод неверен. Где я ошибся?