0

如何在控制器动作中处理表单?

例如在我看来:

<form id="formid">
 <input name="yrlevel"></input>
</form>

我将如何在我的操作中这样处理它(从文本字段的值添加 mysql 查询条件):

$criteria->addSearchCondition('yrLvl', $_GET['yrlevel']
4

2 回答 2

1

你已经完成了一半的工作;您需要将值添加到条件中,就像您所做的那样,然后您需要在调用搜索时指定该条件,如下所示:

$criteria = new CDbCritera;
// If you want to use MySQL's 'LIKE' syntax you could use addSearchCondition()
$criteria->addSearchCondition('yrlevel',$_GET['yrlevel'], true);
// If you want to do a direct comparison you could use condition()
$criteria->condition('yrlevel = :yrlevel');
$criteria->params = array(
    ':yrlevel'=>$_GET['yrlevel']
);

$models = MyModel::model()->findAll($criteria);

$models然后将包含与搜索条件匹配的模型数组。我已经在上面展示addSearchCondition()condition()如何使用它们的示例(您可能不想将它们一起用于我上面展示的相同字段),请查看CDbCriteria以获取有关如何构建的更多信息查询。

Yii 将使用 PDO 绑定您的参数,因此您绝对不需要自己清理数据,尽管您可能出于任何原因想要这样做。

于 2012-09-30T15:39:52.837 回答
0

我不是yii专家,但本教程将帮助您添加搜索条件

http://www.yiiframework.com/doc/api/1.1/CDbCriteria#addSearchCondition-detail

试试这个..

strip_slashes并在直接输入$_GET数据前尝试使用。

于 2012-09-30T11:58:16.800 回答