0

マルチレベルメニューを印刷するコードがあります。しかし、それは私に言います:行内の非オブジェクトでメンバー関数query()を呼び出します...クエリは正しいです、別のドキュメントでテストしましたが、完全に機能しています。私は少し調査しましたが、残念ながらこれまでのところ提案は機能していません:/

コードは次のとおりです。

<?php $mysqli = new mysqli("host", "user" "pass", "db") or die ('Cannot open database'); ?>
<?php
function display_children($parent, $level) {
    global $mysqli;

    $result = $mysqli->query("SELECT a.id, a.label, a.link, Deriv1.Count FROM `medialib_cats` a LEFT OUTER JOIN (SELECT parent, COUNT(*) AS Count FROM `medialib_cats` GROUP BY parent) Deriv1 ON a.id = Deriv1.parent WHERE a.parent=" . $parent);

    echo "<ul class='nav'>";

    while ($row = $result->fetch_assoc()) {
        if ($row['Count'] > 0) {
            echo "<li><a href='index.php?page=folder.php&fid=" . $row['id'] . "'>" . $row['label'] . "</a>";
            display_children($row['id'], $level + 1);
            echo "</li>";
        } elseif ($row['Count']==0) {
            echo "<li><a href='index.php?page=folder.php&fid=" . $row['id'] . "'>" . $row['label'] . "</a></li>";
        } else;
    }

    echo "</ul>";
}
display_children(0, 1);
?>
4

0 に答える 0