Yii Widgets CGridView显示数据

凡妮莎·卡多佐(Vanessa Cardoso)

我的数据库中有2个表:t_productt_user

t_user

'***************************************************** **************************'

'* cod_arm *说明*用户名*密码*盐*类型*'

'***************************************************** **************************'

'* 000 * 000-管理员*管理员* 123 * asdfgh * A *'

'* 001 * 001-MEDICINA 1 * P01 * 123 * asdf * U *'

'* 021 * 021-UROLOGIA * P21 * 123 * asdfg * U *'

****************************************************** **************************'

t_产品

'***************************************************** ************************************************'

'* id_prod * cod_art *名称*单位*有效期* cod_loc *'

'***************************************************** ************************************************'

'* 1 * 210110300 *普通粘合剂(...)* ROL * 2014-11-30 * P010101 *'

'* 2 * 210110320 *普通粘合剂(...)* ROL * NULL * P01 *'

'* 3 * 210110302 *普通粘合剂(...)* ROL * 2016-12-30 * P210110 *'

'* 4 * 210110301 *普通粘合剂(...)* ROL * 2014-11-30 * P010101 *'

'* 1 * 210110300 *普通粘合剂(...)* ROL * 2014-11-30 * P01EXT *'

'* 1 * 210110300 *普通粘合剂(...)* ROL * 2014-11-30 * P210101 *'

'***************************************************** **************************************************'

我想要,当用户单击“管理产品”时。该表显示了cod_loc类似于“ username%”的所有产品

示例:在这种情况下,用户为“ P01”。在此页面“ Manage Produtos”中,我要显示所有以“ P01”开头的cod_loc的产品。

我尝试连带dataProvider。在模型->产品中..但是我无法显示我想要的东西!我可以显示cod_loc与用户名完全匹配的所有产品(例如“ P01”),并且可以显示cod_loc具有“ P”,“ 0”和“ 1”的所有产品,这种情况几乎都是产品。


好吧,在我的模型产品中,我有该代码:

<?php

/**
 * This is the model class for table "produto".
 *
 * The followings are the available columns in table 'produto':
 * @property integer $idProduto
 * @property integer $cod_art
 * @property string $designacao
 * @property string $unidades
 * @property string $data_validade
 * @property string $cod_loc
 * @property string $username
 *
 * The followings are the available model relations:
 * @property User $username0
 */
class Produto extends CActiveRecord
{
	/**
	 * @return string the associated database table name
	 */
	public function tableName()
	{
		return 'produto';
	}

	/**
	 * @return array validation rules for model attributes.
	 */
	public function rules()
	{
		// NOTE: you should only define rules for those attributes that
		// will receive user inputs.
		return array(
			array('cod_art, designacao, unidades, cod_loc', 'required'),
			array('cod_art', 'numerical', 'integerOnly'=>true),
			array('designacao', 'length', 'max'=>128),
			array('unidades', 'length', 'max'=>6),
			array('cod_loc', 'length', 'max'=>12),
			array('username', 'length', 'max'=>3),
			array('data_validade', 'safe'),
			// The following rule is used by search().
			// @todo Please remove those attributes that should not be searched.
			array('idProduto, cod_art, designacao, unidades, data_validade, cod_loc, username', 'safe', 'on'=>'search'),
		);
	}

	/**
	 * @return array relational rules.
	 */
	public function relations()
	{
		// NOTE: you may need to adjust the relation name and the related
		// class name for the relations automatically generated below.
		return array(
			'username0' => array(self::BELONGS_TO, 'User', 'username'),
		);
	}

	/**
	 * @return array customized attribute labels (name=>label)
	 */
	public function attributeLabels()
	{
		return array(
			//'idProduto' => 'Id Produto',
			'cod_art' => 'Cod Art',
			'designacao' => 'Designacao',
			'unidades' => 'Unidades',
			'data_validade' => 'Data Validade',
			'cod_loc' => 'Cod Loc',
			//'username' => 'Username',
		);
	}

	/**
	 * Retrieves a list of models based on the current search/filter conditions.
	 *
	 * Typical usecase:
	 * - Initialize the model fields with values from filter form.
	 * - Execute this method to get CActiveDataProvider instance which will filter
	 * models according to data in model fields.
	 * - Pass data provider to CGridView, CListView or any similar widget.
	 *
	 * @return CActiveDataProvider the data provider that can return the models
	 * based on the search/filter conditions.
	 */
	public function search()
	{
		// @todo Please modify the following code to remove attributes that should not be searched.

		//$criteria=new CDbCriteria;

		/*$criteria->compare('cod_arm',$this->cod_arm);
		$criteria->compare('descricao',$this->descricao,true);
		$criteria->compare('username',$this->username,true);
		$criteria->compare('password',$this->password,true);
		$criteria->compare('salt',$this->salt,true);
		$criteria->compare('tipo',$this->tipo,true);*/
                $username = Yii::app()->user->name;
		return new CActiveDataProvider('Produto', array(
                    'criteria'=>array(
                    'condition'=>'cod_loc LIKE :username%',
                    'params' => array(
                        ':username'=>$username
                    )
                ),
            ));
	}

	/**
	 * Returns the static model of the specified AR class.
	 * Please note that you should have this exact method in all your CActiveRecord descendants!
	 * @param string $className active record class name.
	 * @return Produto the static model class
	 */
	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}
}


在我的观点> Produto> admin.php中,我有以下代码:

<?php
/* @var $this ProdutoController */
/* @var $model Produto */

$this->breadcrumbs=array(
	'Produtos'=>array('index'),
	'Manage',
);

$this->menu=array(
	array('label'=>'List Produto', 'url'=>array('index')),
	array('label'=>'Create Produto', 'url'=>array('create')),
);

Yii::app()->clientScript->registerScript('search', "
$('.search-button').click(function(){
	$('.search-form').toggle();
	return false;
});
$('.search-form form').submit(function(){
	$('#produto-grid').yiiGridView('update', {
		data: $(this).serialize()
	});
	return false;
});
");
?>

<h1>Manage Produtos</h1>

<p>
You may optionally enter a comparison operator (<b>&lt;</b>, <b>&lt;=</b>, <b>&gt;</b>, <b>&gt;=</b>, <b>&lt;&gt;</b>
or <b>=</b>) at the beginning of each of your search values to specify how the comparison should be done.
</p>

<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button')); ?>
<div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array(
	'model'=>$model,
)); ?>
</div><!-- search-form -->
<?php echo $AP = Yii::app()->User->name; ?>
<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id'=>'produto-grid',
	'dataProvider'=>$model->search(),
	'filter'=>$model,
	'columns'=>array(
		//'idProduto',
		'cod_art',
		'designacao',
		'unidades',
		'data_validade',
		'cod_loc',
		/*
		'username',
		*/
		array(
			'class'=>'CButtonColumn',
		),
	),
)); ?>

在mysql中,我可以做我想做的-> SELECT * FROM produto WHERE cod_loc LIKE'username%';

李莫格

在此代码示例中,如果您不深入自己的代码,则可能会找到答案:

$username = 'P01' ;
Product::model()->findAll('cod_loc LIKE :username', array(
    ':username'=>"{$username}%"
));

或在数据提供者中:

$dataProvider = new CActiveDataProvider('Product', array(
    'criteria'=>array(
        'condition'=>'cod_loc LIKE :username',
        'params' => array(
            ':username'=>"{$username}%"
        )
    ),
));

通过Product我的意思是模型类t_product表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Yii zii.widgets.grid.CGridView自定义字段

来自分类Dev

Yii CGridView数据是外键

来自分类Dev

如何不重设Yii zii.widgets.grid.cgridview中的搜索结果

来自分类Dev

如何不重设Yii zii.widgets.grid.cgridview中的搜索结果

来自分类Dev

Yii 1.3 zii.widgets.grid.CGridView将自定义函数添加到类

来自分类Dev

在yii中需要帮助以在CGridView中显示两个表数据吗?

来自分类Dev

如何在yii中的CGridview中显示相关表中的数据

来自分类Dev

Yii-如何在CGridView中显示用户自己上传的数据?

来自分类Dev

想要在yii中的CGridview中显示其标题下的所有数据值

来自分类Dev

在Yii 1.1的CGridView中显示iframe

来自分类Dev

如何显示数组到CGridView(yii框架)

来自分类Dev

如何显示数组到CGridView(yii框架)

来自分类Dev

如何在管理页面的数据库中的zii.widgets.grid.CGridView中显示多个学生姓名?

来自分类Dev

如何在Yii的CGridview中以升序显示序列号而无需占用额外的数据库字段

来自分类Dev

Yii CGridView。显示不相关表中的列

来自分类Dev

yii cgridview两次显示摘要文本

来自分类Dev

yii CGridView数据提供程序和过滤器

来自分类Dev

根据数据库值在yii cgridview中更改列名

来自分类Dev

基于yii中的数据的CGridView中的样式列

来自分类Dev

yii CGridView数据提供程序和过滤器

来自分类Dev

根据数据库值在yii cgridview中更改列名

来自分类Dev

Yii CGridView在数据值上分配类

来自分类Dev

yii cGridView多注释

来自分类Dev

YII CGridView错误

来自分类Dev

Yii关系Cgridview

来自分类Dev

Yii CgridView DataProvider错误

来自分类Dev

bootstrap.widgets.TbDetailView,Yii应用

来自分类Dev

Yii模型CGridView,包括带有Yii-User Profile Field数据的列

来自分类Dev

捕获双击Yii的CGridView行

Related 相关文章

  1. 1

    Yii zii.widgets.grid.CGridView自定义字段

  2. 2

    Yii CGridView数据是外键

  3. 3

    如何不重设Yii zii.widgets.grid.cgridview中的搜索结果

  4. 4

    如何不重设Yii zii.widgets.grid.cgridview中的搜索结果

  5. 5

    Yii 1.3 zii.widgets.grid.CGridView将自定义函数添加到类

  6. 6

    在yii中需要帮助以在CGridView中显示两个表数据吗?

  7. 7

    如何在yii中的CGridview中显示相关表中的数据

  8. 8

    Yii-如何在CGridView中显示用户自己上传的数据?

  9. 9

    想要在yii中的CGridview中显示其标题下的所有数据值

  10. 10

    在Yii 1.1的CGridView中显示iframe

  11. 11

    如何显示数组到CGridView(yii框架)

  12. 12

    如何显示数组到CGridView(yii框架)

  13. 13

    如何在管理页面的数据库中的zii.widgets.grid.CGridView中显示多个学生姓名?

  14. 14

    如何在Yii的CGridview中以升序显示序列号而无需占用额外的数据库字段

  15. 15

    Yii CGridView。显示不相关表中的列

  16. 16

    yii cgridview两次显示摘要文本

  17. 17

    yii CGridView数据提供程序和过滤器

  18. 18

    根据数据库值在yii cgridview中更改列名

  19. 19

    基于yii中的数据的CGridView中的样式列

  20. 20

    yii CGridView数据提供程序和过滤器

  21. 21

    根据数据库值在yii cgridview中更改列名

  22. 22

    Yii CGridView在数据值上分配类

  23. 23

    yii cGridView多注释

  24. 24

    YII CGridView错误

  25. 25

    Yii关系Cgridview

  26. 26

    Yii CgridView DataProvider错误

  27. 27

    bootstrap.widgets.TbDetailView,Yii应用

  28. 28

    Yii模型CGridView,包括带有Yii-User Profile Field数据的列

  29. 29

    捕获双击Yii的CGridView行

热门标签

归档