おすすめ本

最近のトラックバック

  • event (夢茶爺&苦茶爺のPC奮戦備忘録)

AccRanking

Ad

« 2011年3月 | メイン | 2011年5月 »

2011年4月

2011年4月27日 (水)

MySQLのdualダミーテーブル

Oraleに存在するダミーテーブルDUALですが、MySQLにも存在します。
でもMySQLのマニュアルを見ますと以下の様な記述があります。

「バージョン 4.1.0 以降では、どのテーブルも参照されない状況において、 ダミーテーブル名として DUAL を指定することができる。 これはもっぱら互換性を考慮した機能である。 一部の他のサーバではこの構文が必要となる。」

以下のSQLはどちらを使っても同じ結果が得られます。

Oracleを使ってきた私が、MySQLを使うとDUALを使いたくなってしまいます。
FROM句が無いのがどうも気持ち悪いからで、特に意味はありませんが、みなさんはどうなのでしょうか。

尚、上のSQLの実行はWindowsXPでXAMPPをインストールしてコマンドラインからMySQLを実行しています。
コマンドラインからの実行は以下のコマンドにより実行します。

c:\xampp\mysql\bin\mysql -u root -p


楽天市場

■関連記事
【MySQL】ダミーテーブルをUNIONで連結してコード表を作成する方法
【MySQL】ユーザー変数を使ってSELECTに行番号を付加する方法
【MySQL】カラム名を囲むバッククオートについて
【MySQL】UNIONMINUSが無いので、代わりにNOTEXISTSを使う方法について
【MySQL】ユーザ変数を使って連番や、連続日付を取得する方法について

2011年4月26日 (火)

submitとフォーム変数について

submitとPHPに渡されてくるフォーム変数について、すこし調べてみました。

以下の様に1個のHTMLソースの中で複数のフォームを宣言することができます。
このソースは、それぞれのsubmitボタンをクリックするとそれぞれのフォーム内の"data"がフォーム変数として渡されます。
dataの値により、それぞれの処理を行うことができます。

フォームを複数宣言するのはどうかと思われる方は、以下の様な方法もあります。
この場合の動作は、クリックされたボタンの名前が$_POSTの添え字となり値は"送信"が渡されます。
このボタンの動作で何かの処理を行う場合は、添え字の値に従って、処理を分けることでできると思います。

以下の様なソースで実現可能かと思います。

2011年4月25日 (月)

checkboxとフォーム変数について

checkboxとPHPに渡されてくるフォーム変数について、すこし調べてみました。

以下の様なPHPソースを実行させると、チェックを入れた一番下の値しかフォーム変数に渡されないことがわかります。
ラジオボタンの様な動作になっています。


ここでvalue="1"のcheckboxの前にhiddenを追加してみます。


この場合の動作は、チェックボックスに1個でもチェックがあれば、最後のチェックボックスの値が"foo"として 渡されますが、チェックが無ければhiddenの値である"0"が渡されます。
この方法を使えば、デフォルト値的なことができますが、少々イレギュラーな使い方ではあります。
通常は、isset($_POST["foo"]を調べれば同じことができますが。


チェックボックスの使い方であれば、以下の様にするのが一般的です。


ただし、この方法だとfooの配列としてフォーム変数が渡されますが、配列の添え字が詰まった形で渡されてきます。
twoとfourにチェックをして送信した場合は、フォーム変数が以下の様になります。
($_POSTをprint_r()関数で出力してもの)
$_POST:Array ( [foo] => Array ( [0] => 2 [1] => 4 ) [tx] => 送信 )

もし、添え字も値と合わせたいのであれば、以下の様にします。




この場合、twoとfourにチェックをして送信した場合は、フォーム変数が以下の様になります。

($_POSTをprint_r()関数で出力してもの)
$_POST:Array ( [foo] => Array ( [2] => 2 [4] => 4 ) [tx] => 送信 )

楽天市場

2011年4月18日 (月)

phpMyAdminでcreate functionではまったこと

MySQLで関数を作成する必要に迫られて今回初めて作成してみました。
処理の内容は、数値文字列で小数点以下の無駄な"0"を省く処理です。

実際の関数は下の様なものです。

このソースをそのままphpMyAdminのSQLを実行するボックスにコピーし、「実行する」ボタンを押下してもうまく作成されない。
よくよくネットで調べると、2行目のデリミタの設定命令などはmysqlをコマンドで起動しその中で行うようです。

phpMyAdminのSQL実行のボックスの下にデリミタという入力する部分があることに気が付き、ここに // を入力し、
上のソースの「create function...」から「end//」までを実行ソースのボックスにコピーし実行しました。
結果うまく作成することができました。

2011年4月16日 (土)

PHPでExifを扱う(PEL)

デジタルカメラや、携帯で撮影した画像のほとんどはJPEGファイルにして保存されます。
このJPEGファイルには各種の属性がEXIF(Exchangeable image file format)という規格で登録されています。このEXIF情報をPHPで扱う場合に、PHPの標準のEXIF関数を利用します。しかし、この関数には読み込みはあるのですが、書込みがありません。

そこで書込みのできるライブラリを探してみると、「PEL」というライブラリがありました。
このライブラリはフリーソフトでPHPのみで書かれていますし、 結構使えそうです。このライブラリは以下のURLからダウンロードができます。

http://pel.sourceforge.net/

このライブラリを利用した、EXIFを含んだ画像ファイルのリサイズの例を以下に示します。
(尚このソースはサンプルとして付属していたものを少し変更したものです)

楽天市場

2011年4月11日 (月)

東日本大震災

あの3月11日から、1ヶ月が過ぎました。
被災地ではまだ、不明の方が1万人以上とのこと
あらためて被害の大きさを感じざるをえません。

被災された方がたには心よりお見舞い申し上げます。

さて、今回の震災ですが、地震の規模が大きかったことは
報道の通りですが、さらに津波が追い討ちを掛けてしまいました。

また、福島では原発の事故で、人災とも言えなくはない放射能災害が発生しています。
原発の事故の初動に問題があったとかいろいろ報道されていますが、
やはり最悪の状態を想定しなかった東電、政府、などなどに問題があったかと思います。

私の住む福井県では13基の原発があり、今回の事故は他人事ではありません。
原発の安全性を高めていってほしいものです。

ただ世の中、絶対に○○などということはありえないことで、
他人の言うことを丸呑みにしてはいけないのではないでしょうか。