递归函数不显示任何内容

时间:2017-10-30 11:31:13

标签: php mysql jstree

我有一个带节点的树,我想在表格中显示每个节点的级别, 但是当它没有显示任何东西时。

我尝试发表评论时:findlevel($ _ SESSION [' id'],$ level +1,$ idtofind);在函数的最后,如果我这样做它可以工作,但只适用于树的第一级。

我的代码:

function findlevel($parent_id, $level, $idtofind)
                    {
                    global $data, $index, $tree;
                    $parent_id = $parent_id === NULL ? "NULL" : $parent_id;

                        if (isset($index[$parent_id])) {
                            foreach ($index[$parent_id] as $id) {
                                $current_id      = $data[$id]["id"];
                                $levell = $level+1;
                                if($current_id == $idtofind) {
                                    echo $current_id . " " . $idtofind . $levell . "<br>";
                                    return $levell;                     
                                }
                                findlevel($_SESSION['id'], $level + 1, $idtofind);
                            }

                        }
                    }

我的表格代码:

$result = $conn->query("SELECT id, email, tipoutente, fullname, datainserimento, DATEDIFF(datainserimento, '$datainserimentosponsor') AS datadiff FROM utenti WHERE inseritoda = " . $_SESSION['id']);
    while($row = mysqli_fetch_array($result)){
    echo "<tr class=\"righe\">";

    $levelnode =findlevel($_SESSION['id'], 0, $row['id']);

    if($row['tipoutente'] == "GRUPPO PRIVATO" || $row['tipoutente'] == "GRUPPO NEGOZI" || $row['tipoutente'] == "GRUPPO ASSOCIAZIONI") {

            echo "<td class=\"gruppi\">$progressivoutenti</td>";
            echo "<td class=\"gruppi\">" . $row['fullname'] . "</td>";
            echo "<td class=\"gruppi\">" . $row['email'] . "</td>";
            echo "<td class=\"gruppi\">" . $row['tipoutente'] . "</td>";
            echo "<td class=\"gruppi\">" . $row['datainserimento'] . "</td>";
            echo "<td class=\"gruppi\">" . $row['datadiff'] . "</td>";
            echo "<td class=\"gruppi\">" . $levelnode . "</td>";
        //} 
            } else {

            echo "<td class=\"dati\">$progressivoutenti</td>";
            echo "<td class=\"dati\">" . $row['fullname'] . "</td>";
            echo "<td class=\"dati\">" . $row['email'] . "</td>";
            echo "<td class=\"dati\">" . $row['tipoutente'] . "</td>";
            echo "<td class=\"dati\">" . $row['datainserimento'] . "</td>";
            echo "<td class=\"dati\">" . $row['datadiff'] . "</td>";
            echo "<td class=\"dati\">" . $levelnode . "</td>";
            }
            $progressivoutenti++;
    echo "</tr>";   
}
echo "</table>";

编辑:

这是代码的其余部分:

 $data = array();
$index = array();
$albero = array();
$query = $conn->query("SELECT * FROM utenti where utentepadre is not null order by fullname");
$query->data_seek(0);
while ($row = $query->fetch_assoc()) {
    $id        = $row["id"];
    $parent_id = $row["utentepadre"] === NULL ? "NULL" : $row["utentepadre"];
    $data[$id] = $row;
    $index[$parent_id][] = $id;
}

这就是我树的样子:

My Tree

结果是:

The result of the php page.

变量$ data:

的结果

Variable $data content

0 个答案:

没有答案