显示数据库中的数据

时间:2012-04-05 01:49:29

标签: php mysql

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

类别:

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类

清单1

第2类

清单1

清单2

第3类

清单1

清单2

清单3

我希望它显示:

第1类

清单1

第2类

清单2

第3类

清单3

1 个答案:

答案 0 :(得分:2)

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

$this->sinfo = '';

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