我正在尝试进行递归的sql查询,搜索父亲的所有子项以及那些子项的子项等等。下面的代码的问题是它只检索第一个子树。
我需要将整个树的所有电子邮件保存在一个数组中
$hermanos = array();
function obtener($id){
$res = mysql_query("SELECT email,id FROM usuarios WHERE padre = '$id'", Conectar::con());
while($row = mysql_fetch_assoc($res)){
if ($row['email'] != 'waiting') {
$hermanos[] = $row['email'];
obtener($row['id']);
}
}
return $hermanos;
}
$a = obtener($invitado);
print_r($a);
答案 0 :(得分:1)
从模糊的描述中我认为你想要另一种解决方案。根据db语言,这称为Hierchial data retireval。我认为这种递归查询应该在db end上使用过程/视图完成 您可以查看这些链接以获取heirchial数据