私は下記のフォームの製品検索ページを持っています。検索結果は同じページに表示され、検索バーが最上部に表示されます。チェックボックスを使用してフラグを私はまた、次の(それがまだ動作しない)ことができ、検索結果に小さな箱を持ってCakePHP:ボタンをクリックしてデータベースを更新できるようにする
echo $this->Form->create('Searches', array('action'=>'products', 'type' => 'get', 'name' => 'textbox1'));
echo $form->input($varName1, array('label' => false));
echo $form->end('Locate');
ユーザー製品、従ってを用いて、そのデータベース(テーブルproducts
とモデルProduct
を使用して)更新しますボタンをクリックします。この検索ページのコントローラはSearches
です。
<form method="link" action="/myapp/product/test_update_db>
<label><input type="checkbox" name="flag1" <?php echo $preCheckBox1; ?>>Flag 1</input></label>
<label><input type="checkbox" name="flag2" <?php echo $preCheckBox2; ?>>Flag 2</input></label>
<input type="submit" value="Update">
</form>
このチェックボックスとDB更新ルーチンを実行する方法を理解するのが難しいです。私は私が行きたいリンク(/myapp/product/test_update_db
)に取得していますが、私は新しいページにこの結果($results['Product']['id'])
)の行IDと一緒に、変数flag1
とflag2
を取る方法がわかりません。
これをうまく実行する方法を教えてもらえますか?この一般的なアプローチは正しいですか?そうでない場合は、どのようなルートを取るべきですか?可能であれば、この時点でjavascriptを使用しないことをお勧めします。
編集:私は、データを渡すためのURLを使用する場合、私は、この作品を作ることができると思います..しかし、私はまだ、これは「フードの下」またはMVCで行うことができる方法を知りたいのです。私はCakePHPプラットフォームでハッキングしているような気がします。
更新:flag1
とflag2
などの情報を取得するためのURLパラメータが使用されました。私はまだ別の方法を探しています。
// Cake 2.0+
debug($this->request->data);
// previous versions
debug($this->data);
あなたは、現在のページから検索コントローラにデータを渡したい場合は、いつでも追加することができます。あなたのである-チェックボックス、チェックされたデータがどこにあるか、お使いのコントローラで、次の操作を行い確認するには
私は、これは私が必要なものであるとは思いません。私はフォームを送信したデータ( 'flag1'と' flag2')を製品検索ページから 'product/test_update_db'に引き継ぐ方法を見つけようとしています。私はすでにコントローラ( '検索 'コントローラ)からビューに必要なすべてのデータを渡しています(チェックボックス形式のsesarch結果ページ)。私はCakePHP 1.3を使用しています。 – musicliftsme
@ user796837:私は誤解していると思います。あなたが今持っているものを明確にするためにあなたの質問を更新すること、それがどのように働くのか、そして何を達成したいのか、質問が書かれている方法は少し不明です。 –