php : mktime() の年の上限(2038)

よく使っている mktime()関数の有効な数字についてまとめておきます。('-' *)

mktime(時, 分, 秒, 月, 日, 年);

@時
負の値は、その日の 0 時から前にさかのぼった時間を表します。 
23 より大きい値は、その翌日以降の該当する時間を表します。

@分
負の値は、その前の時刻を表します。 
59 より大きい値は、その次の時間以降の該当する時間を表します。

@秒
負の値は、その前の時刻を表します。 
59 より大きい値は、その次の分以降の該当する時間を表します。

@月
前年末から数えた月数
つまり 0 なら 12 月、-1 なら 11 月になるということです。 
12 より大きい値は、その翌年以降の該当する月を表します。

@日
前月末から数えた日数。
つまり 0 なら前月の末日、-1 ならそのさらに前日になるということです。 
その月の日数より大きい値は、翌月以降の該当する日を表します。

@年
2 桁または 4 桁の値を指定可能。
有効な範囲は 1901 から 2038 の間です。

javascript+php : 非同期でデータを取得してくる場合の文字化け

セレクトボックスの中身をjavascriptを使って非同期で変更する方法は色々あると思いますが
今回は

header ('Content-Type:text/html; charset=utf-8');

と、しっかりヘッダー出力して解決しました。(* '-')/

変数の初期化もそうですが
ついつい手を抜きがちな自動処理部分のケアを今年はしっかりしていきたいです(><)

mysql:日本語文字列をソートする

ひらがなでソートしようかと思ったら、予想した並び順と違ったところ調べたら
こちらの方の記事を参考にして実現することができました('-'*)
http://developer.unlax.com/2009/09/mysql-order-byutf-8.html

SELECT * 
FROM table_name 
ORDER BY CAST( column_name AS CHAR)


キャスト関数についてはこちらを参照
http://dev.mysql.com/doc/refman/4.1/ja/cast-functions.html

上記サイトより引用:

また、キャスト関数は ENUM 型のカラムを語彙の順序でソートするときにも役立ちます。
通常、ENUM 型のカラムのソートは、内部の数値に基づいて行われます。
値を CHAR 型にキャストすると、語彙の順序でソートされるようになります。

php:データベースのバックアップと復元(mysql)

mysqlのデータベースのバックアップと復元を行ったのでメモ('-'*)

system()を使って、mysqlとmysqldumpのコマンドを使用ー

mysqldump と mysql のディレクトリ (それぞれのサーバー次第)
$appdir = "/usr/bin/";

バックアップ
$command = $appdir.'mysqldump --default-character-set=utf8 --host="localhost" --user="user" --password="password" "dbname" > "backup_file_name"';

system($command);

復元
$command = $appdir.'mysql --default-character-set=utf8 --host="localhost" --user="user" --password="password" "dbname" < "backup_file_name"';

system($command);

以上ー(*'-')/

google:IE7でGoogleMapの拡大縮小のスケールが表示されない

google map のAPIで地図を表示しているページで
IE7だと左側についてるズームするやつが出てこないっていう連絡がありました('-';;;)

調べていたら
どうやらIEさんが候すぎて、ロード仕切る前に処理を開始してしまうかららしい。。。

というわけでもともと$(function~で呼んでいたのを$(window).loadに変更したら動きました('-'*)/

before:
$(function(){
   // 地図表示
});

after:
$(window).load(function() {
    // 地図表示
});

google:GoogleMapの経路検索のURLについて

最初はAPIを使って同じページ内で経路検索をしていたんだけど、
GoogleMapのサイトを使いたいと言われて調べたのでメモ('-'*)

[http://d.hatena.ne.jp/iRSS/20100319:title=こちらのページで紹介されてました。
]

>{{

基本のURL
http://maps.google.co.jp/maps?[パラメーター]

{{<

各パラメーターについて

saddr : 出発地点(座標でも地名でもOK)

daddr : 目的地点(座標でも地名でもOK)

dirflg : 移動手段
>車 : dirflg=d
>電車:dirflg=t(デフォルト)
>徒歩:dirflg=w

例)
http://maps.google.co.jp/maps?saddr=35.671989,139.763965&daddr=35.671989,139.7&dirflg=d 

http://maps.google.co.jp/maps?saddr=浜松市&daddr=御前崎市&dirflg=d 

javascript:replace()で正規表現に変数を使う場合

置換するのに正規表現を使いたくて、
その正規表現の中に変数を指定したらうまく動かなかったのでメモ

なにやらそういう時はRegExpオブジェクトを使うらしい('-'*)

pattern 1.
str.replace(/ABC/g, '*');

pattern 2.
str.replace(new RegExp('ABC', 'g'), '*');

は同じ結果になります(*'x')

funciton (str) {
    // 全角数字を半角数字に置換え
    var zen = ['1','2','3','4','5'];
    var han = ['1','2','3','4','5'];
    for (var i=0; i < zen.length; i++) {
        str = str.replace(new RegExp(zen[i], 'g'), han[i]);
    }
    return str;
}