如何从数据库中获取数据并在视图中显示

时间:2013-04-28 06:41:00

标签: yii

我是yii框架的新手。我刚刚创建了一个应用程序,我想根据某些条件从数据库中获取数据,然后在视图中显示。为此我在控制器中尝试了一些东西:

    if(isset($_GET['sku']))
    {
              $sku=$_GET['sku'];
          $data=Products::model()->findAll("sku=$sku");
    }
    $this->render('checkout',array(
        'data'=>$data,
    ));

在我的观点中,我尝试将数据打印为:

  

的print_r($数据);

我向我展示了一个复杂的数组,但我不希望这样。 我想要的是我可以从控制器获取一个数组,其中包括基于某些条件的查询返回数据,在我的视图中使用foreach我可以根据需要显示它们。

所以请建议我从db获取数据的一些好方法,并可以在我的视图中显示它们。

谢谢!

2 个答案:

答案 0 :(得分:4)

在您的视图中使用以下内容:

<?php echo CHtml::encode($data->fieldname); ?>

或者更好的是,使用Gii代码生成器来构建您的CRUD函数,您将看到几个关于如何构建这些函数的好例子。这是一个非常好的教程的链接:http://www.yiiframework.com/doc/guide/1.1/en/quickstart.first-app

答案 1 :(得分:1)

尝试使用DAO而不是Active Record

$sql = "SELECT * FROM `products` WHERE sku = ".Yii::app()->request->getParam('sku', 0);
$data = Yii::app()->db
        ->createCommand($sql)
        ->queryAll();

$this->render('checkout',array(
    'data'=>$data,
));

配置文件中应该有db个组件(例如config / main.php)

http://www.yiiframework.com/doc/guide/1.1/en/database.dao