現在CakePHPを使用して研修用の受講登録ページを作成しています。
やりたい事としては、
(1)ページ1でデータベースに入っているコース一覧をテーブルに表示
(2)ページ1で各行にチェックボックスがついており、選択したコースのIDを次ページに受け渡しする。
(3)ページ2で受け取ったデータ(コースのID)を元にFindで検索、テーブルに表示する。
といった感じです。
現在(2)まではできているのですが、(3)の部分でうまくいかずに困っています。
現在の状態は、(2)の部分ではチェックボックスの名前をコースのIDと同じ数字にし選択したチェックの数値と、何件選択したかをカウントしたものを変数に入れてFormにて受け渡しています。
そして、(3)で受け取ったデータを元にFindをかけたいのですが、Findの部分でどういった記述をすればいいのかわからず1週間ほど困っています。
グーグルでFindについて検索をしてみたものの、有効な答えを得られなかったので質問させて頂きます。よろしくお願いします。
なお、現在Findの部分は
$conditions = array(
'conditions' => array(
'or' => array(
for ($a=0;$a < $kensuu;$a++){
$data = $this->params['form'][$a];
if ($data == 1){
$check = 1;
$count++;
}
if ($check == 1){
$sdata .= array('courceID' => '$a');
$a++;
$data = $this->params['form'][$a];
if ($a == $kensuu){
$sdata .= array('courceID' => '$a');
$count++;
}
$a--;
}
$check = 0;
}
//$conditions = $conditions . $sdata;
//$conditions .= ",),),);";
$sentakudata = $this->Pobs->find('all', $conditions);
$this->set('sentakudata', $sentakudata);
と、途中で止まっています。
選択したデータを
$conditions = array(
'conditions' => array(
'or' => array(
array('courceID' => '○○'),
array('courceID' => '○○'),
と、いった感じで自動で条件の部分に追加していきたいのです。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ろくにCakePHPを使ったことがないですが、
<?php
$conditions = array(
'conditions' => array(
'or' => array(
array('courceID', 'xx'),
array('courceID', 'xx'),
),
),
);
?>
この配列に挿入されるのが目的で、フォームから値の取得は出来ているという前提ですが
まず、<input type="checkbox" name="○○">に指定した、「○○」はどのような値ですか?
それ次第で回答も変わりますが
<input type="checkbox" name="hoge[1]" value="on">
<input type="checkbox" name="hoge[2]" value="on">
・
・
・
<input type="checkbox" name="hoge[10]" value="on">
といった値を挿入したと仮定し、「[]」内の数値がテーブルのidフィールドの値だったとします。
<?php
$checkbox_array = $this->params['form']['hoge'];
//質問の内容から推測するに
//
//とりあえず変数conditionsを初期化
$conditions = array(
'conditions' => array(
'or' => array(),
),
);
foreach($checkbox_array as $key => $check){
$conditions['conditions']['or'][] = array('courceID'=>$key);
}
$sentakudata = $this->Pobs->find('all', $conditions);
$this->set('sentakudata', $sentakudata);
?>
とすれば、いけるのではないでしょうか。
配列に値を追加する場合は、
<?php
array_push($array, $data);
//とするか
$array[] = $data;
?>
とすることが出来ます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Smarty 三次元配列を使いたい
-
配列 一部除外してソート?
-
Smartyで多次元配列をスマート...
-
C言語 最大値と最小値を求めて...
-
特定の文からメールアドレスの...
-
読み(あ行~わ行)ごとに分け...
-
MYSQLとPHPによって取得する多...
-
数独かを判断するプログラム
-
bashで配列から、特定の要素を...
-
濁点のソート
-
配列から別の配列の要素を削除...
-
PHPは何故値渡しより参照渡しの...
-
ショッピングカートで$_SESSION...
-
かなでの並び替え
-
再帰の仕方
-
$arrN[0] = $arrN[1] = $arrN[2...
-
in_array関数について
-
配列の要素(value)に、変数を...
-
ulのネストをタブ区切りに変換...
-
配列をループでたくさん宣言し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列の要素(value)に、変数を...
-
特定の文からメールアドレスの...
-
読み(あ行~わ行)ごとに分け...
-
C言語の配列をPush(追加)する...
-
STLのvectorで作った配列をメン...
-
CArrayの要素としてCStringArra...
-
verilogで、配列の一部をタスク...
-
System.String.Splitでエラー
-
Perlで重複行を削除したい
-
行列
-
C言語 最大値と最小値を求めて...
-
スカラーのベクトル微分
-
PHPで2次元配列を1次元配列に...
-
array_intersectで空欄を比較し...
-
mallocで char *型の配列を確...
-
Pascalの手続きについて
-
複数のforeachをまとめるには
-
数独かを判断するプログラム
-
ソートの名称について
-
PHPのmin関数、「1」以上の数値...
おすすめ情報