日々修行

2008年09月

PHPショッピングカートを作る事になったので、商品をMYSQLでする事にした。

商品点数が少ないならテキストファイル読み込んでもいいんだけど、動きが重くなってきたのね。

まだまだ経験不足の私はMYSQLを前から覚えなきゃと思いつつ先延ばししていたため、触った事すらなかったので、いい機会だと一念発起した。



データベース自体がはじめてなので戸惑いながら進める。



 データベースって、まずデータベースがあってその中にテーブルがあるらしい、まぁ単純にエクセルのファイルがデータベースでその中のワークシートがテーブルって事だ。だからテーブルはいくつも作れる。

 とりあえずデータベースを作成。んでテーブルを作る。

データベースの作成はすべてWEBMINのMySQLサーバーの設定画面から行なった。

適当な名前で新規にデータベースを作成。するとデータベースのアイコンが表示される。そいつをクリックして中を覗く。当然カラだ。

そこで新規にテーブルも作成。

テーブルはカラの状態じゃ作成できないみたい。

とりあえず商品番号、商品名、サイズ、価格の項目をそれぞれフィールド名にnumber,name,size,priceとしてデータの種類はすべてテキストで作成。

これでテーブルが出来た。



続いて、商品リストをテーブルに入れていくんだが、ここからまたお勉強。

MySQLへの命令はクエリとよばれる。

クエリを送信するとMySQLサーバーから返答がくる仕組みらしい。

WEBMINにはこのクエリを送信する画面もあった。

テーブルのリストが表示されている画面の右下に「SQLを実行」というボタンがそれだ。

この画面のテキストエリアにクエリを打ち込んで「実行」をするとクエリが送信される。



試しに一つ商品を登録する。

INSERT INTO my_table(number,name,size,price) VALUES('001','靴','25cm','12,800') で実行。



どうやら追加されたようだ。

一覧を表示するのクエリは SELECT * from my_table で実行。

するとデータに追加されている。ちょっとうれし~^^



しかし何十点もある商品でこんな作業続けていたら時間の無駄だ。



じつはテキストファイルを読み込めるみたい。

このクエリ実行画面のタブに「Import text file」ってのがあるじゃな~い。

とりあえずそこから読み込むことに挑戦。

まず読み込むファイルを指定する。

リストはサーバーにアップしてあるからそれを指定。

インポートするテーブルもさっき作ったテーブルを指定。

最初にテーブルのデータをしますかをはい。さっき打ったのが心残りだが;

同一の列を無視しますかをはい。よくわからん;

CSVのファイル形式は「,」で区切ってるから、CSV with quotesにチェック。

んで実行!



あっという間に読み込まれ、SELECTで確認。



・・・



??????????????????がたくさん並んでる;

明らかに文字コードがあっていないな;

日本語がすべて文字化けしてる。



MySQLの設定画面でMySQL System Variablesを確認すると、「character-set~」の項目が「latin」になってるぞ;

なぜラテン?

いろいろネットで調べるとこの問題でみんな困ってるらしい。

対策がありました。

MySQLサーバーのエンコードとクライアントの文字コードを合わせてればいい。

まぁ当たり前の事だけどね;

その設定は、



/ect/mysql/my.cnf 内の [mysqld] の項目に以下を追加。

default-character-set = utf8

skip-character-client-handshake



んでMySQL再起動!



もう一度ファイルを読み込んでみる。



・・・



無事読み込めた~。



んでPHPでテキストファイルで読み込んでいたページをMySQLに変えてみたら早い早いw

こらいいかも。

Flashオブジェクト内にカウンターを設置するのに使いました。

CGIでカウントを書き込み、書き込まれたテキストをFlashで読み込んで使うのに、AS3.0でファイルの読み込みした事無かったので焦った;

結構面倒なので雛形として使ってもらってかまいません。

TextLoader.dataFormat = URLLoaderDataFormat.TEXT;

としてありますので、あくまでもテキストの読み込みです。



var URL:String = "count.txt";

var URLreq:URLRequest = new URLRequest(URL);

var TextLoader:URLLoader = new URLLoader(URLreq);

TextLoader.dataFormat = URLLoaderDataFormat.TEXT;

TextLoader.addEventListener(Event.COMPLETE, URL_Loaded);

function URL_Loaded(event:Event):void

{

load_text = "Load Text :" + myLoader.data;

trace(load_text);

}

私は今度発売されるトヨタのiQは絶対に売れないと予言します。



似ている車「スマート」の国内販売台数は年々減少し、全世界で月に1万3千台程度。全世界でです。このうち日本での販売台数は1%程度。

スマートが何で売れないのか?

1.知名度が低すぎる

これが一番の原因かもしれない。じつはこの車、日本国内向けに軽自動車として「スマートK」っていうのも販売もしている車なんです。通常のスマートは普通常用です。



2.国産軽自動車のほうが広い

軽自動車に乗る人は広さを気にする人の割合が実に多い。タントにムーブ、ミラ、ステラ。どれも後部座席はちゃんと大人が2人乗れ、さらに荷室もちゃんとある。



3.動力性能・燃費も国産のほうがいい

ターボモデルのみではなくNAでも最近は全然不満の出ない動力性能。

ハイブリッドでもないのにリッター20越え。



と大きく上げるとこの3つ。

つまり何が売れない理由か。

軽自動車のほうがいいじゃん?って事です。



iQはしかもリッターコンパクトカーという事は軽自動車と比べると税金面で負ける。室内空間も軽自動車のほうが広い。軽自動車を運転する人はもともと動力性能にそれほどのこだわりを持っていない人が多く、軽自動車でも不満が出ない。



ね?



売れないでしょ?

絶対売れないでしょ?

絶対絶対売れないよね?



二酸化炭素排出量がプリウスよりも低いとかは、消費者にとっちゃ「どうでもいい」事。燃費が噂どおりリッター30走るなら魅力だけど、これからガソリンは値を下げていく。



今回この車は「世界で小さい車が騒がれているから、俺達も今ある技術ぶっこんで注目集めようぜ」的な感じがしてならない。

こんな車作るんだったら軽自動車売れば?って言いたくなるわ;

でもなんだかんだ言っても、しかしトヨタ。

これもそこそこ数売るんだろうなw



あら?予言が変わっちゃってる!?



まぁ大ヒットはしないって事でw

このページのトップヘ