2013-04-28 112 views
3

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

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

而当我的意见我尝试打印数据:

的print_r($数据);

我给我看了一个复杂的数组,但我不想那样。 我想要的是我可以从控制器中获得数组,包括通过查询基于一些条件返回的数据,并在我的视图中使用foreach我可以根据我的需要显示它们。

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

谢谢!

+3

您至少应该阅读关于如何使用ActiveRecords的基础知识。我们无法为你学习Yii :)。 findAll()返回一个ActiveRecord对象的数组,如下所示http://www.yiiframework.com/doc/guide/1.1/en/database.ar – 2013-04-28 09:21:25

+0

感谢MichaelHärtl,你建议我帮助我很多的链接,现在我可以获取并保存数据。再次感谢 – user2328484 2013-04-28 15:03:51

回答

4

您认为使用这样的这个:

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

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

+0

谢谢jmarkmurphy – user2328484 2013-04-28 15:02:10

+0

如果这为你解决,请标记问题回答。 – jmarkmurphy 2013-04-28 21:20:37

+0

@jmarkmurphy Thanx男人:) – 2013-12-05 17:43:57

1

尝试使用DAO,而不是活动记录

$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组件(例如:配置/ main.php)

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

+0

谢谢安德烈Zhamoida – user2328484 2013-04-28 15:02:52

相关问题