递归SQL咨询PHP



>我正在尝试进行递归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);
    

从模糊的描述中,我认为您想要另一种解决方案。根据数据库语言,这称为分层数据退休。我认为这些递归查询应该在数据库端使用过程/视图完成您可以查看这些链接以获取继承数据

  1. 带 sql 视图的 Sol1

  2. 有关分层数据的文章MySQL

  3. 另一个有风景的索恩

相关内容

  • 没有找到相关文章

最新更新