2011年8月9日火曜日

phpで月末日の取得

PHPで月末日を調べる凄く簡単な方法があった〜

date('y-m-t');

とすると、例えば

例)
echo date('y-m-t', strtotime('2008-02-01'));
とすると、この年の2月は閏年なので結果として2008-02-29と帰って来たらOK

結果:2008-02-29でした

date関数の最後を「t」とする事で、PHP マニュアルに説明があります。
t指定した月の日数。28 から 31

だから、出てくるのか!すばらしぃPHP

2011年8月7日日曜日

MySql GROUP BYでLast idを取得

忘れん為に・・・

こんなテーブルがある。

ID 社員番号 名前
1 1111 Aさん
2 2222 Bさん
3 3333 Cさん
4 1111 Aさん
5 1111 Aさん
6 4444 Dさん
7 5555 Cさん
8 2222 Bさん

ここで、SELECT * FROM `Table_Name` WHERE `社員番号` = '1111' GROUP BY `社員番号`とすると

ID 社員番号 名前
1 1111 Aさん

こんな形で出てくるが
ここで欲しいのは、GROUP BYとして、重複データをまとめて、尚かつ社員番号1111のIDの大きい物を出したい

それで、調べてみたら合った
SELECT max(id), id, 社員番号, 名前 FROM `Table_Name` WHERE `社員番号` = '1111' GROUP BY `社員番号`

とすると
max(id)ID 社員番号 名前
51 1111 Aさん

と表示される。
これで、社員番号1111の新しいIDと古いIDが両方取得できる