【问题标题】:Recursive SQL consult PHP递归SQL咨询PHP
【发布时间】:2013-12-29 22:44:49
【问题描述】:

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

【问题讨论】:

  • 你有什么问题?

标签: php sql arrays tree recursive-query


【解决方案1】:

根据模糊的描述,我认为您需要另一种解决方案。根据 db 语言,这称为分层数据检索。我认为这种递归查询应该在数据库端用过程/视图完成 您可以查看这些链接以获取层次结构数据

  1. Sol1 with sql view

  2. Article about Hierarchical data in mysql

  3. another soln with view

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2020-11-27
    • 2015-07-13
    • 2014-12-19
    • 2012-12-05
    • 2016-01-25
    相关资源
    最近更新 更多