CRTモニターの処分

CRTモニターが家に2台あり、処分に困ってました。

ハードオフ、セカンドストリートに電話するも、「あ~、パソコンのCRTモニターは、もう扱ってないですね~」というつれない返事・・・・。

ネットで調べると、PC-DEPOTというお店が、引き取ってくれるらしい・・・。しかも、1台100円頂ける。早速、電話をかけて聞いてみると、快く1人2台までOKとのこと。

新潟では、PC-DEPOTは長岡にあり、高速使うことにはなるが、自分で処分するよりは安くなるはず。ついでに、長岡市営スキー場へ行く計画も立て、2週間後にゴー。

長岡PC-DEPOT
m20100227
※頂いた200円は、子供のお小遣い。

カウンター
m201002272
※PC修理で持ち込み客がちらほらいるようで、店内で20分ほど待つ。その間に、物色。店内は、結構、客が入ってました。

その後、長岡市営スキー場へ
m201002273
m201002274
m201002276
m201002277
※長岡市営スキー場には、初めて行きました。町からとても近く、地元なら夕方からでも十分スキーを楽しめそう。今回は、3時ごろ行ったので、リフトなしで、歩いて登って滑ってを繰り返してました。次回は、絶対リフト使用!(疲れた・・・)

剣岳点の記

新潟IBMユーザ研究会、新春例会にて、「剣岳点の記」の木村監督の講演がありました。
矍鑠たる方で、講演会、その後の懇親会でも、マイクなしで端まで声のを響かせていました。
また、ずばずば物事を言う方で、気持ちが良かったです。

m20100204

新潟は、この日から大雪で、まさに木村監督を歓迎するかのようです。

その後、DVDを購入し、気軽にサインして頂きました。ありがとうございます。
翌日、映画を観ました。派手さはないですが、変な意味ではなく、奥底にズンと重石ができたような感じです。きっと、私の記憶に残る映画となるのでしょう。

さくらサーバー PHPアップロードのファイルサイズを増やす

さくらサーバーにて、PHPからファイルアップロードするとデフォルトの設定が8M程度なので、大きなファイルはアップロードできません。

php.iniを編集すると、大きなファイルもアップロードできます。

①さくらコントロールパネルから、PHPの編集をします。
m20091217-m1
・ルートに、php.iniが作成されます。

memory_limit = 32M
post_max_size = 32M
upload_max_filesize = 32M

②phpinfo() で確認すると、アップロードサイズが増えています。
m20091217-m2

以上です。

CakePHP ページャ pagenate

CakePHPねたです。

——————————————————————————————————————–
CakePHPのページング機能は、1.2から標準で入っているようで、特にコンポーネントを取り込む必要はないようです。これで、通常コントローラで使う分には問題ないです。

//基本的なページングの条件
$this->paginate = array(
		'limit' => 25,
        	'order' => array('User.created' => 'desc'),
		'recursive' => 1,
  		);

// Userモデルの検索条件を設定する。$hogeは、事前に何か設定されていると仮定する。
$conditions = "User.name LIKE '%{$hoge}%'";

// $this->pageneteで、find検索とほぼ同じ。(ただし、設定された整列、条件で検索)
$this->data = $this->paginate('User', $conditions);

で、ビューに下記のコードを書くと・・。

<?php echo $paginator->prev('« Previous ', null, null, array('class' => 'disabled')); ?>
<?php echo $paginator->numbers(); ?>
<?php echo $paginator->next(' Next »', null, null, array('class' => 'disabled')); ?>

こんな感じで表示されます。(それぞれ、リンクが張られます。)

« Previous
1 | 2 | 3
Next »

で、2ページ目をクリックしたとき、URLは、こんな感じで飛んでいきます。
http://~~~.~~~~~.jp/users/view/page:2

——————————————————————————————————————–

しかし、絞込み条件を、Viewから得て$hogeに設定している場合は、問題が出てきます。

こんなふうに、条件をビューから得ると、2ページ目は絞込みがされないで、全件表示されます。prevも、nextも同じ症状となります。

$hoge = $this->data['search'];

何故かというと、ページャの【1 | 2 | 3】や【prev】、【next】は、単なるリンク(a href)でしかないからです。おそらくビューでは、$this->data[‘search’];をするために、form->createして、inputでコントローラに持ってきてますよね。そんで、送信とかボタン押すでしょ。

ページャで自動的に作られる【1 | 2 | 3】や【prev】、【next】は、単なるリンクなので、これをクリックしても、コントローラーでは、$this->dataは空です。(が~ん)

リンクにこんな感じで、’users/view/’. $condition 引数を設定しようとしても、ページャが自動的にリンク作るので、そんなことは、出来ません。(が~ん、が~ん)。
——————————————————————————————————————–
多分、ページャは、絞込み条件で与えられた件数を検索し、limitで割って計算して、page:2とかでその部分を持ってきているだけです。

|------------------------|------------------------|------------------------|
|         1ページ目      |       2ページ目        |       3ページ目        |
|------------------------|------------------------|------------------------|

ですので、ページングするたびに、同じ絞込み条件を与えないと、見た目、変なページングになってしまします。
——————————————————————————————————————–
解決策は、条件をどこに保存しておくか?です。
◆解決案1: データベースに保存しておく。

でも、複数の人が同時にブラウザ操作してたら・・・、工夫が必要ですよね。

◆解決案2: セッションに保存しておく。

これが、一番、現実的な解決方法だと思われます。

下記の2つをうまく組み合わせて、絞込み条件を保存し、ページングするたびに読み出せば、うまくいくはずです。

//セッションデータを読み出す。
if ($this->Session->check('pagecond')) {
    $this->data = $this->Session->read('pagecond');
}
//セッションデータを書き出す。
$this->Session->write('pagecond', $this->data);

以上です。