php - 显示数据库中的数据

标签 php mysql

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

类(class):

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

list 1

类别 2

list 1

list 2

类别 3

list 1

list 2

list 3

我希望它显示:

类别 1

list 1

类别 2

list 2

类别 3

list 3

最佳答案

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

$this->sinfo = '';

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

关于php - 显示数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10021647/

相关文章:

javascript - 如何使数据在从下拉菜单中选择后自动填充表单

javascript - 使用 jquery 发送一个数组

mysql - 这个查询速度慢吗

Php mysql 不同表中多条记录的1个字段的SUM

MYSQL错误代码: 1064 in the view

php - Yii Controller 方法SQL查询

php - 带有时区的php中的DateTime

php - mysql将结果分组到单个表行

MySQL:条件似乎无法正常工作

mysql - 获取相关表的 TIMESTAMPDIFF 的 AVG?