UPDATE:2016.10.7
- CATEGORY
データベースとcsvファイルを連携
こんにちは。今日はデータベースの情報をcsvファイルとして出力する最低限の方法を書いてみたいと思います。
データベースに登録された情報をexcelなどに持っていきたいことがある場合に便利かもです。
とりあえず今回はデータベースからデータの取得~csvファイルのダウンロードまでを簡潔簡単に説明してみたいと思います。
以下の3つのファイルを用意するだけで使えます。(ファイル名は任意です)
1.setup.php(データベースへのアクセスに必要な情報ファイル)
2.index.php(データベースから抽出したデータを確認するためのファイル)
3.export.php(抽出したデータをcsvファイルとして書き出すファイル)
まず1.の setup.php ファイル内容です。
$user = "データベースユーザー名";ここでデータベースにアクセスする為に必要な情報を外部ファイルとして用意しておきます。
$pass = "データベースパスワード";
$dbname = "データベース名";
$connection = mysqli_connect( $server, $user, $pass ) or die( mysqli_error( $connection ) ); //サーバーへの接続
外部ファイルとしてまとめて置くことで、データベース接続情報が変わった際にここを書き換えるだけで済むので楽です。
次に、データベースから取得した情報を確認するためのページ index.php 内容です。
require( 'setup.php' ); //setupファイル読み込みformで出力するボタン(csvダウンロード)を付け加えときます。
mysqli_set_charset( $connection, "utf8" ); //文字セット設定
mysqli_select_db( $connection, $dbname ) or die( mysqli_error( $connection ) ); //アクセスするデータベースを選択
$sql = "SELECT * FROM table1"; //実行するSQL文(table1というテーブルの*全てのデータを取得)
$rows = mysqli_query( $connection, $sql ) or die( mysqli_error( $connection ) ); //$sqlで書いたSQL文のクエリを実行
while ( $row = mysqli_fetch_assoc( $rows ) ) {
echo( $row['id'] . "," . $row['msg'] . "
\n";
} //クエリの結果を連想配列 $row で取得し、echoで画面に表示しています("
\n"は見易くする為に付けてるだけです・・・)
?>
最後にダウンロード用の処理を行う export.php 内容です。
header( "Content-type: text/csv" ); //MIMEタイプの設定データベースから情報を取得するまでは index.phpと同じですが、headerに2行ほど追加している部分でダウンロードをさせています。
header( "Content-disposition: attachment; filename = test.csv" ); //任意のファイル名でダウンロードをさせる設定
require( 'lib/setup.php' );
mysqli_set_charset( $connection, "utf8" );
mysqli_select_db( $connection, $dbname ) or die( mysqli_error( $connection ) );
$sql = "SELECT * FROM table1";
$rows = mysqli_query( $connection, $sql) or die( mysqli_error( $connection ) );
while ( $row = mysqli_fetch_assoc( $rows ) ) {
print( $row['id'] . "," . $row['msg'] . ":" );
}
?>
以下、参考サイトのURLです。(自前サイトです)
ここをクリック
「エクスポート」ボタンを押すと test.csv がダウンロードされます。
あまり使わない機能かもしれませんが。。。
一例としてこんなことできそうです。
「データベースの内容を修正しなくては!だけど忙しくてそれどころじゃない。どうしよう・・・」
「そうだ、excelで誰かに修正しておいてもらおう!」
こんな時に、csvファイルとして出力する意味がでてきます。
あとで修正されたcsvファイルをインポートするだけで済みます。
今回はこのあたりで終わりにしたいと思います。
一応音楽好きを名乗っていてカテゴリも音楽暮らしなので、ブログの締めにおすすめ音楽をご紹介していきます。
Suchmos “STAY TUNE” -> youtube link
最近は邦楽あまり聴かなかったのですが、これを聴いてこのバンドの虜になりました。
僕は自称車好きで、一応スポーツカーなんかも乗っているのですが、車で夜の首都高や湾岸道を流す感じが合いそうです。