0

我正在尝试显示数据库中的数据,我想知道我做错了什么。

班级:

class Information {

    protected $info;

    protected $sinfo;

    public function __construct()
    {
        $this->db = new Config;

        $r = $this->db->query('SELECT * FROM categories');

        while($row = $r->fetch_array())
        {
            $this->info[] = $row;
        }

    }

    public function getCategory()
    {
        return $this->info;
    }

    public function getCategoryTitle($category_title)
    {
        echo $category_title;
    }

    public function getListing($category_id)
    {

        $s = $this->db->query("SELECT * FROM listings WHERE category_id = $category_id");

        while($sow = $s->fetch_array())
        {
            $this->sinfo[] = $sow;
        }
        return $this->sinfo;
    }

    public function getListingTitle($listing_title)
    {
        echo $listing_title;
    }

}   

显示信息:

$display_listings = new Info();

foreach ($display_listings->getCategory() as $row) 
{
    $display_listings->getCategoryTitle($row['category_title']);

    foreach ($display_listings->getListing($row['category_id']) as $sow)
    {
        $display_listings->getListingTitle($sow['listing_title']);
    }
}

由此可见:

第一类

清单 1

第 2 类

清单 1

清单 2

第 3 类

清单 1

清单 2

清单 3

我希望它显示:

第一类

清单 1

第 2 类

清单 2

第 3 类

清单 3

4

1 回答 1

2

也许尝试把它放在 getListing 的开头:

$this->sinfo = '';

看起来数组保留了以前的值。

于 2012-04-05T01:55:15.470 回答