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 に答える