コントローラーアクションでフォームを処理する方法は?
たとえば、私の見解では:
<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
。