マルチレベルメニューを印刷するコードがあります。しかし、それは私に言います:行内の非オブジェクトでメンバー関数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);
?>