<?php
class getCatlist
{
function catList()
{
global $db;
try {
$stmt2 = $db->query("SELECT c.id, c.name, c.slug, c.parent, COUNT(b.catID) AS Total FROM categories c LEFT JOIN blog_post_cats b ON b.catID = c.id GROUP BY c.id HAVING Total > 0");
$row_count = $stmt2->rowCount();
if ($row_count >= 0) {
$rows = $stmt2->fetchAll(PDO::FETCH_ASSOC);
}
} catch (PDOException $e) {
echo $e->getMessage();
}
$items = $rows;
$id = '';
echo "<ul>";
foreach ($items as $item) {
if ($item['parent'] == 0) {
echo "<li><a href='category-".$item['slug']."'>".$item['name']." (".$item['Total'].")</a>";
$id = $item['id'];
sub($items, $id);
echo "</li>";
}
}
echo "</ul>";
}
function sub($items, $id){
foreach ($items as $item) {
if ($item['parent'] == $id) {
echo "<ul>";
echo "<li><a href='category-".$item['slug']."'>".$item['name']." (".$item['Total'].")</a></li>";
sub($items, $item['id']);
echo "</ul>";
}
}
}
}
?>
私はこれらのfunction catList()
で、このクラスを呼び出し、それにsub($items, $id)
コール
機能:
<?php
$cat = new getCatlist();
$cat->catList();
$cat->sub();
?>
しかし、サーバーは、私は、このエラーを与える:未定義の関数subにコール。だから私のコードに何が問題なの?私は何が恋しい?そして、これをどのように定義するか:function sub()。
私はこの呼び出しメソッドをクラスのものから検索しましたが、私は問題を解決しませんでした。だから私はここで解決策を見つけることを願っています。ありがとう。
まだ未定義の関数sub()\t 私はあなたのソリューションを試してみました:私はそのつもりが動作することだと思うけど:getCatlistための欠落引数1 ::サブ() getCatlist :: sub()の引数2がありません。だから今は何ですか? –
そのエラーメッセージはかなり明確ですね。 '$ cat-> sub()'には引数が含まれていませんが、メソッドシグネチャ**には2つの引数が必要です。 – HPierce
それは$ cat-> sub($ items、$ id)でなければなりませんか? –