勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

PHPとSQLiteでi-mobileのデータをグラフ化

      2015/02/26

i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフでは確認できない。なのでSQLiteの練習もかねて、グラフ化を行った際のメモ。

機能は以下の通り。

 

  • 詳細レポートの日別データCSVをアップロードできるフォーム
  • アップロードしたデータをSQLiteに保存
  • 既に登録されている日付分は上書き保存せず、差分だけ保存する
  • データリセット機能
  • highcharts.jsを使ってグラフ表示

 


 

 

■下準備

以下からhighcharts.jsを用意してアップロードしとく。

http://www.highcharts.com/

 


 

 

■ソース

 


 

 

■その他

ソースをそのまま保存して、highchats.jsのパスを書き換えてアップロードするだけで動くはず。

気付いた点としてSQLiteのバージョンが3.7.11以前のものだと、MySQLでよく使う以下の形のバルクインサートができない模様。

 

 

以下のような形ならバルクインサート可能みたいだけど、1回に挿入できるのは500件まで。

 

 

500件以上なら分ける処理とか入れるのが面倒くさかったので1回ずつ挿入にした。

また、データのリセット時にTRUNCATEを使おうとしたけどSQLiteには無いらしい。DELETE FROM tableで対応。

BBSと違って複数人数が使うものでもないし、日別データならデータ数も少ないし、こういうページにSQLiteが向いていそう。

 - jQuery, PHP, SQLite

  関連記事

jquery_logo
画像をドラッグ&ドロップでアップロードする方法

画像を複数枚ドラッグ&ドロップでアップロードしたかった。だいぶ前にdro ...

images
PHPでCSVを出力する際にメモリを節約

MySQLよりデータを大量に取り出してCSV化し、ダウンロードさせるというPHP ...

javascript_logo_unofficial-300x300
Flashを用いずJavaScriptでコピー&カット機能を実装する

以前メモったようなFlashを用いる方法ではなく、WebAPIでコピー& ...

1422186794_sqliteicon
SQLiteでNULL値の検索

SQLiteにてNULL値のもののみを検索したかったけど分からなかったので調べた ...

images
PHPの構文チェック

JSONLINTみたいにオンラインで構文チェックを できるサイト様があったのでメ ...

jquery_logo
jQueryでshow/hideよりaddClass/removeClassの方が速い

diaplay:none/blockする際に最近はshow()/hide()を ...

images
PHPでis_fileとfile_existsについて

ファイルの存在チェックを行う際に、file_exists関数を 使用していたが、 ...

images
PHPのshort_open_tagのデメリット

PHPをHTML内に書くときは、書く速さと見易さ重視で、   [cra ...

msyql-image
MySQLのダンプとリストアをコマンドで行う

MySQLのダンプとリストアをコマンドで行う ■ダンプ mysqldump -u ...

jquery_logo
lightboxで画像拡大時に文字タイトルとリンクをつける

lightboxで画像をクリックして拡大した際に、文字タイトルとその文字にリンク ...