買うた本データベース
以前に書名羅列スクリプトAWS版つーのを作って、以後買った本を黙々と当サイトのサイドバーに貼ってた訳なんすが、
「登録した本は最新の10冊しか残らない」
という仕様が、段々不便になってきました。
この仕様では「はて? あの本持ってたっけ??」という時には既に消えててなんの役にも立たないし、いまや当サイトで唯一コンスタントに更新されてる手動データ(^^;を、古くなったからと無為に捨ててしまうのは如何にも勿体無いハナシ。
ちうことで、既に当サイトのバックエンドにはしっかりデータベースがある訳だし、ログに書名を羅列した際、ついでにMySQLにもデータを保存するようにしてみました。
$sql = "insert into " . DB_TABLE . " values (NULL, '" . addslashes($title) . "', '" . addslashes($isbn) . "', '" . addslashes($author) . "', '" . addslashes(mb_convert_kana($publisher, "KVas")) . "', '" . $price . "', '". date("Y-m-d H:i:s") . "')";
mysql_query($sql,$db);
↑こんな感じ。
これで本のデータがDBに溜まってくようになりましたんで、今度は「溜まったデータを見る」スクリプトを書いてみます。
基本仕様は「データをだーっと並べて表示する」だけですが、折角MySQLを使う訳なんで、ついでに各種統計情報とか検索機能とかも実装してみました。こんなのが簡単に書けちゃう辺り、PHP+MySQLはホント便利(^_^)
ちょっと問題になったのは著者名。書名羅列スクリプトではAWSで得られる著者名が複数の場合、「/」で連結して1個の文字列にしてます。これが、そのままDBに格納するにはちょっと宜しくない。
ワタシも本来なら著者名のテーブルを別に作ってデータを正規化するべきだよなぁと思わなくは無かったんすが、その場合
「著者名をどうやってlike検索すれば良いの?」
という部分が問題になります。
一体データならそれこそ
↑コレでOK(SQLバンザイ!:笑)
ちうことで、今回は著者名を正規化せず「そのまま方式」にしてみてます。そのため、著者名統計に於いて「工藤 かずや/浦沢 直樹」と「浦沢 直樹」が別々に勘定されちゃってますが、これは仕様(^_^;)
これも結構不便なのでそのうちに気が向いたら正規化するかもしれまへんが、取り敢えずは手抜きの方向で(^_^;)
これで目出度く買うた本リストが恒常的になった訳ですが、いざ書名を並べてみると・・・・・・結構格好悪いですねぇ(^_^;) ま、これこそ自業自得で、仕方ない事ではあるんですが(^^;;
ついでに、ダムの貯水率とかサイトのIP