mk_5884 Programming

自分で調べたIT関連のことなどを書いています

MYSQL ファイルにSQLを作成して流し込む

1. /home/kobayashi/ 配下に「vi ddl.sql」を作成する
2. :set encoding=euc-jpでeuc-jp にする
3. :e ++enc=euc-jpでeuc-jp で開きなおす
4. CREATE文なりALTER文なりを入力、コピペする
5. cat /home/kobayashi/ddl.sql で見て、文字化けしていないことを確認
6. mysql -u*** -p***** -h **** --default-character-set=ujis *** < /home/kobayashi/ddl.sql

PHP csvを作成する時にexcelで先頭の0が消えるのを何とかする

わかってしまえば簡単。
参考にあるように、csvを作成する時にダブルコーテーションで囲って先頭に=をつける。

=”03″

これでexcelで開いた時に0が表示される。
ただし、当然だけどtxtで開いたときは="03"となってしまう。

結論は、作業する時はディレクタにどっちで開くのか仕様を確認するのがマストですね。

 

【参考】
PHPのテクメモ » Blog Archive » CSVで先頭が0で始まる数字を吐き出すときに

HTML5 formの次へ、戻るが簡単になった

html5から、submitボタンに以下を追加すると、各ボタンごとにリンク先を変えられるようになりました。
便利だねぇ。知らなかった・・・。

formaction='http://yahoo.co.jp'


▼参考
<input type="submit">-HTML5タグリファレンス

Linux ディレクトリの階層ごとコピー

左に書いているディレクトリ構成のまま、右のにコピーする。
これで言うと、0601ディレクトリの下に、ごそっと入ります。

cp --parents -a /home/base/lib/hoge/insert.php /home/kobayashi/0601
cp --parents -a /home/base/lib/hoge/Controller/update.php /home/kobayashi/0601

【MySQL】複数の条件のcountを1回のクエリでおこなう

こんな感じです。
select count(*), count(flag = 1 or null), count(flag = 0 or null) from a;
 
詳細は以下を参照(もうブログじゃないな)
 
SQL複数の条件のcountを1回のクエリでおこなう

https://www.softel.co.jp/blogs/tech/archives/3267

Zendframework のリライト設定

Zendframeworkで開発をしていて、
リダイレクト対応をするために.htaccessを編集することになった。
やりたいことは以下。

1.
http://old.co.jp/game/ でアクセス

http://new.co.jp/game/ に飛ばす

2.
1. 以外にアクセス

http://old.co.jp/infomation/ に飛ばす

で、以下の様に設定したら駄目だった。

#gameはリダイレクト対象から外す
RewriteCond %{REQUEST_URI} !(^/game/)
#infomationはリダイレクト対象から外す(無限ループするから)
RewriteCond %{REQUEST_URI} !(^/infomation/)
#上のルール以外はhttp://old.co.jp/infomation/ に301リダイレクト
RewriteRule ^.*$ http://old.co.jp/infomation/ [R=301,L]
#gameの場合はhttp://new.co.jp/game/ に301リダイレクト
RedirectMatch 301 ^/game/(.*)$ http://new.co.jp/game/

なにがダメかと言うと、http://old.co.jp/infomation/ がnotfoundになる。

Zendframworkは必ずindex.php を経由して色々なコントローラに飛ばすので、
全てをリダイレクトさせる今、index.php も無効になり、直でinfomation に飛ばすことが出来なくなるのだ。

なので、

#gameはリダイレクト対象から外す
RewriteCond %{REQUEST_URI} !(^/game/)
#上のルール以外はindex.php に飛ばす
RewriteRule ^.*$ index.php [NC,L]
#gameの場合はhttp://new.co.jp/game/ に301リダイレクト
RedirectMatch 301 ^/game/(.*)$ http://
new.co.jp/game/

これで、index.phphttp://old.co.jp/infomation/ れリダイレクトさせる処理を書いた。

かなり迷ったけど、これでいけそう。