私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【PHP】フレームワーク CakePHP 8ホール目【1.3】
php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 :
レスフィルター : (試験中)
CakePHPのドキュメントってなんであんなにわかりずらいの
CodeIgniterみたいな丁寧なドキュメント級のサイト作ってくれたらアフィ毎日踏んであげてもいいですよ
http://codeigniter.jp/user_guide_ja/toc.html
CodeIgniterみたいな丁寧なドキュメント級のサイト作ってくれたらアフィ毎日踏んであげてもいいですよ
http://codeigniter.jp/user_guide_ja/toc.html
>>62
本一冊くらい買えばいいよ
本一冊くらい買えばいいよ
cakephp1.3を使用しています
Paginatorでチェックボックス引継ぎって可能ですか?
10件ずつ表示したとして、次の10件に行っても以前の10件でチェック
していたチェックボックスは維持させていたいのですが。
可能でしたらやり方教えてくれませんか
Paginatorでチェックボックス引継ぎって可能ですか?
10件ずつ表示したとして、次の10件に行っても以前の10件でチェック
していたチェックボックスは維持させていたいのですが。
可能でしたらやり方教えてくれませんか
>>64
それは、Cakeに限らず普通にセッションで持たせれば良いんじゃないのかな?
それは、Cakeに限らず普通にセッションで持たせれば良いんじゃないのかな?
cakephpで作成日時はcreatedですが、作成した人のIPや更新した人のhost、
などどう定義してますでしょうか?
作成した人のIP:created_ip
作成した人のHOST:created_host
更新した人のIP:updated_ip
更新した人のIP:updated_host
最後のdがdateのdであれば、以下のように定義?
作成した人のIP:create_ip
作成した人のHOST:create_host
更新した人のIP:update_ip
更新した人のIP:update_host
守ったほうがよい細かいDBの命令規則のページなどありましたら教えてほしいです。
などどう定義してますでしょうか?
作成した人のIP:created_ip
作成した人のHOST:created_host
更新した人のIP:updated_ip
更新した人のIP:updated_host
最後のdがdateのdであれば、以下のように定義?
作成した人のIP:create_ip
作成した人のHOST:create_host
更新した人のIP:update_ip
更新した人のIP:update_host
守ったほうがよい細かいDBの命令規則のページなどありましたら教えてほしいです。
>>68
>最後のdがdateのdであれば、以下のように定義?
-edは過去分詞形なんだが…。
それはさておき、作成した人、更新した人だったら
creator_ip、creator_host、updater_ip、updater_host
でいいんじゃないかと思う。
個人的にupdaterよりeditorのほうがしっくりくるんだけども。
>最後のdがdateのdであれば、以下のように定義?
-edは過去分詞形なんだが…。
それはさておき、作成した人、更新した人だったら
creator_ip、creator_host、updater_ip、updater_host
でいいんじゃないかと思う。
個人的にupdaterよりeditorのほうがしっくりくるんだけども。
上記のページはユーザー情報のedit画面です。
アドレスに指定された$idを元に、データベースから情報を抜き出しています。(例では$Idが43)
この$idの部分を $hashで表示する方法はないでしょうか?
http://localhost/scrap/users/edit/43 (これが今のやり方)
http://localhost/scrap/users/edit/7c02d52cc1be46217793f002640553d7 (これで元データを拾いたい)
下記が現在のスクリプトです。
function edit($id = null) {
if (!empty($this->data)) {
if($this->User->saveall($this->data, array('validate'=>'first'))){
$this->Session->setFlash(__('The Data has been saved.', true));
}
}
if (empty($this->data)) {
$this->data = $this->User->read(null, $id);
$this->set('data', $this->data);
}
}
単純に$idを$hashにすれば上手くいくかなと思いましたが、上手くいかず。。お助けくださいませ。
アドレスに指定された$idを元に、データベースから情報を抜き出しています。(例では$Idが43)
この$idの部分を $hashで表示する方法はないでしょうか?
http://localhost/scrap/users/edit/43 (これが今のやり方)
http://localhost/scrap/users/edit/7c02d52cc1be46217793f002640553d7 (これで元データを拾いたい)
下記が現在のスクリプトです。
function edit($id = null) {
if (!empty($this->data)) {
if($this->User->saveall($this->data, array('validate'=>'first'))){
$this->Session->setFlash(__('The Data has been saved.', true));
}
}
if (empty($this->data)) {
$this->data = $this->User->read(null, $id);
$this->set('data', $this->data);
}
}
単純に$idを$hashにすれば上手くいくかなと思いましたが、上手くいかず。。お助けくださいませ。
>>72
ありがとうございます!
スクリプトを以下のように書くとこうなりました。
function edit($id = null) {
if (!empty($this->data)) {
if($this->User->saveall($this->data, array('validate'=>'first'))){
$this->Session->setFlash(__('The Data has been saved.', true));
}
}
if (empty($this->data)) {
$conditions = array("hash" => $id);
$this->data = $this->User->findAll($conditions);
$this->set('data', $this->data);
}
}
データは取得できたけど、フォームに自動的に挿入されない。。
ありがとうございます!
スクリプトを以下のように書くとこうなりました。
function edit($id = null) {
if (!empty($this->data)) {
if($this->User->saveall($this->data, array('validate'=>'first'))){
$this->Session->setFlash(__('The Data has been saved.', true));
}
}
if (empty($this->data)) {
$conditions = array("hash" => $id);
$this->data = $this->User->findAll($conditions);
$this->set('data', $this->data);
}
}
データは取得できたけど、フォームに自動的に挿入されない。。
ちなみに Viewの部分はこちらです。
<?php echo $form->create('User',array("action"=>"show"));?>
<fieldset>
<legend><?php __('Edit Data');?></legend>
<?php
echo $form->input('address');
echo $form->input('Keyword.0.name');
echo $form->input('Keyword.1.name');
echo $form->input('Keyword.2.name');
?>
</fieldset>
<?php echo $form->end('Submit');?>
<?php echo $form->create('User',array("action"=>"show"));?>
<fieldset>
<legend><?php __('Edit Data');?></legend>
<?php
echo $form->input('address');
echo $form->input('Keyword.0.name');
echo $form->input('Keyword.1.name');
echo $form->input('Keyword.2.name');
?>
</fieldset>
<?php echo $form->end('Submit');?>
すいません!
findall じゃなくて findで指定したら上手くいきました!
なんて馬鹿なんだ。。
findall じゃなくて findで指定したら上手くいきました!
なんて馬鹿なんだ。。
了解しました。
すぐに聞かずに自分で悩む時間を大切にします!
この試行錯誤する過程が一番身になるんですよね。。
すぐに聞かずに自分で悩む時間を大切にします!
この試行錯誤する過程が一番身になるんですよね。。
cookieにsessionですか
すみませんがPaginetorでの具体的なやり方教えていただけませんか?
すみませんがPaginetorでの具体的なやり方教えていただけませんか?
>>78
自分で調べろ
自分で調べろ
ヒントだけあげるとpaginator使おうが使わなかろうがフォームに値をセットするには
どうすればいいか考えればいい。
どうすればいいか考えればいい。
甘やかしすぎるのはよくないんじゃねーの。
ただ「教えてくれ」と言ってる奴ってダメだよ。
「ここまで調べたけど、ここが分からない」というのが本来の聞き方でしょ。
ダメ人間に餌を与えすぎると無意味に肥え太るぞ。
ただ「教えてくれ」と言ってる奴ってダメだよ。
「ここまで調べたけど、ここが分からない」というのが本来の聞き方でしょ。
ダメ人間に餌を与えすぎると無意味に肥え太るぞ。
POSTで渡すならすぐにわかるのですが
ちなみにチェックボックスは
<?php e($form->checkbox('Model.name.'.$id))?>
という形でこれをforeachで繰り返し出してます。
POSTで来るなら
foreach($this->data['Model']['name'] as $key => $value){
if($value == 1){
}
見たいな感じの処理でいいと思うのですが
もう少しpaginatorを勉強します
すみませんでした
ちなみにチェックボックスは
<?php e($form->checkbox('Model.name.'.$id))?>
という形でこれをforeachで繰り返し出してます。
POSTで来るなら
foreach($this->data['Model']['name'] as $key => $value){
if($value == 1){
}
見たいな感じの処理でいいと思うのですが
もう少しpaginatorを勉強します
すみませんでした
>>83
javascript使ったらどうかな?
javascript使ったらどうかな?
すみませんやりたいことを初めから準に書きますね。
まず、検索フォーム(page_contololler)から『アイス』と入力して検索
データベースから『アイス』を含むユーザーを取ってきます。
ここは
// 検索条件
if (env('REQUEST_METHOD') == 'POST' ) {
$this->Session->write('pageHash', $this->data['Page']);
$conditionsHash = $this->getWhereParameters($this->data['Page']);
} elseif (isset($this->passedArgs['Page'])) {
$this->data['Page'] = $this->Session->read('pageHash');
$conditionsHash = $this->getWhereParameters($this->data['Page']);
} else {
$this->Session->delete('pageHash');
$conditionsHash = array();
}
//検索条件
function getWhereParameters($pageHash) {
$conditionsHash = array();
$conditionsHash['name' Like ?] = $pageHash['page']['name'];
}
$this->paginate = array('Model' => array('conditions' => $conditionsHash,
'limit' => 10
'page' => 1));
こういった感じで$conditionsHashをsessionで渡して
paginatorの次へを押した場合検索条件を引き継ぐようにしています。
まず、検索フォーム(page_contololler)から『アイス』と入力して検索
データベースから『アイス』を含むユーザーを取ってきます。
ここは
// 検索条件
if (env('REQUEST_METHOD') == 'POST' ) {
$this->Session->write('pageHash', $this->data['Page']);
$conditionsHash = $this->getWhereParameters($this->data['Page']);
} elseif (isset($this->passedArgs['Page'])) {
$this->data['Page'] = $this->Session->read('pageHash');
$conditionsHash = $this->getWhereParameters($this->data['Page']);
} else {
$this->Session->delete('pageHash');
$conditionsHash = array();
}
//検索条件
function getWhereParameters($pageHash) {
$conditionsHash = array();
$conditionsHash['name' Like ?] = $pageHash['page']['name'];
}
$this->paginate = array('Model' => array('conditions' => $conditionsHash,
'limit' => 10
'page' => 1));
こういった感じで$conditionsHashをsessionで渡して
paginatorの次へを押した場合検索条件を引き継ぐようにしています。
ここでリスト一覧にさっきのチェックボック(チェックのON,OFF可能)を持ったユーザが一人一人
出てくるわけなのですが。
paginatorの 次へ>> や << 前へを押した場合に
自分でチェックをつけたチェックボックスを維持したままページを移動したいのです。
それで最後にチェックの入ったユーザだけを取り出すというシステムです。
やはり表示上は裏で全部出してjavascriptでの制御が簡単なんですかね
出てくるわけなのですが。
paginatorの 次へ>> や << 前へを押した場合に
自分でチェックをつけたチェックボックスを維持したままページを移動したいのです。
それで最後にチェックの入ったユーザだけを取り出すというシステムです。
やはり表示上は裏で全部出してjavascriptでの制御が簡単なんですかね
ページングしてるページ毎のチェックボックスの状態を記憶せにゃらならんのでしょ。
自分だったら
1)チェックボックスにonclickイベントつけて、ユーザーIDとチェック状態を非同期送信
2)1)をサーバー側のアクションで受けて、DBなりセッションなりに溜めとく
3)あとは溜めたステータス情報を持ち回って、煮るなり焼くなりお好みひゃっほー
あ、昼休みおわた
自分だったら
1)チェックボックスにonclickイベントつけて、ユーザーIDとチェック状態を非同期送信
2)1)をサーバー側のアクションで受けて、DBなりセッションなりに溜めとく
3)あとは溜めたステータス情報を持ち回って、煮るなり焼くなりお好みひゃっほー
あ、昼休みおわた
いろいろな意見ありがとうございます。
今後じっくり考えてやってみます。
ただ、今回は時間があまりないのと自分自身のスキルがたりないのもあってで
http://css-eblog.com/javascript/javascriptpaging.html
を使ってすることにしました。
ありがとうございました。
今後じっくり考えてやってみます。
ただ、今回は時間があまりないのと自分自身のスキルがたりないのもあってで
http://css-eblog.com/javascript/javascriptpaging.html
を使ってすることにしました。
ありがとうございました。
yahooや楽天のように、ログインしているとユーザ専用のリンクが見えて、非ログイン時には
その旨をメッセージで表示するにはどうすればよいのでしょう。
(viewで表示分岐するのは分かるんですが、その前のAuthでどうするか)
非ログインユーザはゲストとして自動的に認証させる?という方法しか
思いつかないのですが、スマートな方法はありませんか。
その旨をメッセージで表示するにはどうすればよいのでしょう。
(viewで表示分岐するのは分かるんですが、その前のAuthでどうするか)
非ログインユーザはゲストとして自動的に認証させる?という方法しか
思いつかないのですが、スマートな方法はありませんか。
>>94
全データが多くなければそれでもいいと思う
1.3は触ってないからわからないけど
1.2なら、paginatorヘルパーで出力するときに引数でFORMのパラメータ渡せば
検索条件付のURLによるページングも作れる
全データが多くなければそれでもいいと思う
1.3は触ってないからわからないけど
1.2なら、paginatorヘルパーで出力するときに引数でFORMのパラメータ渡せば
検索条件付のURLによるページングも作れる
最近マニュアル読まないで質問する人増えたなあ
基本的なことは一通り書いてあるけどねえ
基本的なことは一通り書いてあるけどねえ
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
みんなの評価 : 類似してるかもしれないスレッド
- 【PHP】フレームワーク CakePHP 9ホール目【v1.3】 (1001) - [96%] - 2010/11/1 2:53
- 【PHP】フレームワーク CakePHP 11ホール目【v1.3】 (1001) - [95%] - 2011/6/30 22:32
- 【PHP】フレームワーク CakePHP 10ホール目【v1.3】 (1001) - [95%] - 2011/2/13 8:32
- 【PHP】フレームワーク CakePHP 19ホール目【v3.3】 (844) - [93%] - 2023/2/2 14:30
- 【PHP】フレームワーク CakePHP 14ホール目【v2.1】 (1001) - [91%] - 2012/12/3 19:16
- 【PHP】フレームワーク CakePHP 15ホール目【v2.2】 (985) - [91%] - 2013/9/7 8:30
- 【PHP】フレームワーク CakePHP 17ホール目【v2.4】 (984) - [91%] - 2015/1/10 2:45
- 【PHP】フレームワーク CakePHP 13ホール目【v2.0】 (995) - [91%] - 2012/4/23 21:16 ○
- 【PHP】フレームワーク CakePHP 16ホール目【v2.4】 (1001) - [91%] - 2014/3/3 3:00
- 【PHP】フレームワーク CakePHP 12ホール目【笑】 (1001) - [91%] - 2011/11/8 7:01
- 【PHP】フレームワーク CakePHP 6ホール目【v1.2】 (933) - [90%] - 2009/8/19 2:06 ○
- 【PHP】フレームワーク CakePHP 7ホール目【v1.2】 (1001) - [90%] - 2010/3/18 1:18 ○
- 【PHP】フレームワーク CakePHP 4ホール目【v1.2】 (1001) - [90%] - 2008/12/19 21:06 ○
- 【PHP】フレームワーク CakePHP 5ホール目【v1.2】 (985) - [90%] - 2009/3/7 4:53 ☆
- 【PHP】フレームワーク CakePHP 17ホール目【v3α】 (955) - [90%] - 2016/11/15 20:45
- 【PHP】フレームワーク CakePHP 3ホール目【本命】 (1001) - [84%] - 2008/6/19 7:19 ○
トップメニューへ / →のくす牧場書庫について