[英]How to add mysql query condition using the textinput value?
如何在Controller Action中处理表单?
例如在我看来:
<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
尝试这个..
并尝试在直接输入$_GET
数据之前使用strip_slashes
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.