-
Categories
- PHP (67)
- PHPのプログラム (14)
- PHP関数 (37)
- PEAR (3)
- phpMyAdmin (1)
- CakePHP (42)
- 設定 (1)
- controller (7)
- view (13)
- element (3)
- helper (3)
- pagenation (4)
- model (1)
- bake (3)
- 正規表現 (1)
- XAMPP (2)
- JQuery (1)
- MySQL (43)
- MySQL基本操作 (17)
- MySQL設定 (3)
- phpMyAdmin (1)
- SQL文 (13)
- SQL Injection (1)
- PHPとMySQLの連動 (5)
- PDO (3)
- PHPとMySQLの学習 (1)
- Linux (32)
- WordPress (7)
- TwentyTenのCSS (1)
- TwentyTenカスタマイズ (3)
- WordPressプラグイン (3)
- レンタルサーバー (7)
- さくらインターネット (1)
- Xserver(エックスサーバー) (1)
- お名前VPS (2)
- KAGOYA CLOUD VPS (3)
- 書評 (2)
- API (8)
- amason API (2)
- 楽天API (2)
- Api アプリ制作例 (1)
- bitly API (1)
- twitter-api (1)
- XHTML (2)
- CSS (4)
- CSSタグ (1)
- photoshop (1)
- SEO (2)
- google (1)
- google analytics (1)
- Tools (3)
- JavaScript (1)
- PHP (67)
人気記事
- MySQL 最大の値・最新の日付データを1つ抽出する方法(MAX)
- [CakePHP] XformHelperの使い方
- Linux: スワップファイル(swp)の削除方法
- HTMLのForm methodとactionについて
- PHPでカンマ区切りデータを配列に入れる方法 (explode)
- [エラー対処] failed to open stream: No such file or directory
- [CSS]ブロック要素(div)の高さを、内部のfloat要素に合わせて自動調整する
- [vsftp] FileZillaから接続できない場合の対処法
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS)
- PHPでテキストを1行ずつ読み込む方法(file_get_contents,explode)
-
最近の投稿
アーカイブ
タグ
最近のコメント
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS) に ウェブマスター より
- [CakePHP] FormHelper 「Select」の使い方 に 名無し より
- [vsftp] FileZillaから接続できない場合の対処法 に 中田直希 より
- PHP5.1→PHP5.3へバージョンアップする方法(CentOS) に oka より
- CakePHPをXserverにインストールする方法 に ケイ より
カテゴリー別アーカイブ: controller
[CakePHP2]404 Not Found エラーレスポンスの表示
CakePHPで「404 Not Found」などのエラーページを表示させる方法について記載します。
まず、準備として「App/View/Errors」の中に
「error404.ctp」ファイルを作成しておきます。
[CakePHP2]URL・コントローラ名・アクション名・パラメタの取得方法(GET)
CakePHP2ではVer1.3とURL(GET)関係の取得方法が変わっています。
Ver2からは「$this->request->params」のように真ん中に「request」が入ります。
URLのパラメタが下記のような場合、それぞれ取得方法が変わります。
「http://www.example.com/posts/test/2」
「http://www.example.com/posts/test/?id=2」
[CakePHP2]SaveAllがうまくいかないときの確認点
CakePHPでSaveAllするときにハマッたのでメモです。
フォームのPOSTで下記のデータが飛んできたときに、SaveAllしたらうまく行きませんでした。
1 2 3 4 5 6 7 8 9 10 11 12 |
$this->data = array( 'Model' => array( 0 => array( 'name' => 'taro', 'age' => 30 ), 1 => array( 'name' => 'jiro', 'age' => 40 ) ) ); |
SaveAllの書き方は間違っていないし・・・
1 |
$this->Model->saveAll ( $this->data ['Model'] ) |
[CakePHP]IN句を使った並び順指定
CakePHPでカンマ区切りデータで検索したい場合に以下のようにすると、並び順も指定できます。
ポイントとなるのは、$orderのところで「FIELD」を使うことです。
1 2 3 4 5 6 7 8 |
$user_list='3,1,6,9,2';//抽出したいUserIDをカンマ区切りデータで指定 $user_list_arr=explode(',',$user_list);//検索用に配列化する $condition=array('User.id'=>$user_list_arr); $fields = array(); $order = array('FIELD(User.id,'.$user_list.')');//並び順を指定 $limit =''; array('conditions' => $condition, 'fields' => $fields, 'order' => $order,'limit'=>$limit) |
1.まず、抽出したいIDをカンマ区切りで指定します。
2.$conditionでの指定は配列になるので、カンマ区切りをexplode関数で配列化します。
3.$orderで「FIELD」を設定します。
[CakePHP]IN句を使ったときに指定順に表示する
MySQLでIN句を使ったときに設定した順序でデータを表示させる。
というのをCakePHPで行う場合は以下のようにします。
1 2 3 4 5 6 7 8 9 |
$setList=array(740,194,791,760,837,838,813,414,654); $condition = array('id'=>$setList); $fields = array(); $order = array('FIELD(Sample.id, 740,194,791,760,837,838,813,414,654)'); $limit =''; $records = $this->SeeingSpot->find('all', array('conditions' => $condition, 'fields' => $fields, 'order' => $order,'limit'=>$limit) ); $this->set(compact('records')); |
Pointとなるのは、orderの部分です。
Sampleというモデル名の場合、
[CakePHP]GETでidを取得
CakePHPでGETのidをコントローラーで取得する方法です。
一覧ページなどからデータを変更する場合に、編集ボタンを押すと
http://www.example.com/sample/test/1
http://www.example.com/sample/test/2
CakePHP トップページのコントローラーについて(トップページ表示)
CakePHPのインストールが終わったので何か表示させてみましょう。
フレームワークではコントローラー・アクションなど規則があるので、それに従ってみますがトップページの表示だけうまくいきません。
そのほかはうまく表示れるのですが・・・
はじめからハマりました。