如何在控制器动作中处理表单?
例如在我看来:
<form id="formid">
<input name="yrlevel"></input>
</form>
我将如何在我的操作中这样处理它(从文本字段的值添加 mysql 查询条件):
$criteria->addSearchCondition('yrLvl', $_GET['yrlevel']
你已经完成了一半的工作;您需要将值添加到条件中,就像您所做的那样,然后您需要在调用搜索时指定该条件,如下所示:
$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 绑定您的参数,因此您绝对不需要自己清理数据,尽管您可能出于任何原因想要这样做。
我不是yii
专家,但本教程将帮助您添加搜索条件
http://www.yiiframework.com/doc/api/1.1/CDbCriteria#addSearchCondition-detail
试试这个..
strip_slashes
并在直接输入$_GET
数据前尝试使用。