tel.0120-622835

営業時間/10:00〜18:00 
定休日/土日祝日

ブログ|アプリコットデザイン
トップページ > ブログ > データベースとcsvファイルを連携

BLOG

ブログ

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ファイル読み込み
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"は見易くする為に付けてるだけです・・・)
?>
formで出力するボタン(csvダウンロード)を付け加えときます。

最後にダウンロード用の処理を行う export.php 内容です。

header( "Content-type: text/csv" );  //MIMEタイプの設定
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'] . ":" );
}
?>
データベースから情報を取得するまでは index.phpと同じですが、headerに2行ほど追加している部分でダウンロードをさせています。

以下、参考サイトのURLです。(自前サイトです)
ここをクリック

「エクスポート」ボタンを押すと test.csv がダウンロードされます。


あまり使わない機能かもしれませんが。。。
一例としてこんなことできそうです。
「データベースの内容を修正しなくては!だけど忙しくてそれどころじゃない。どうしよう・・・」
「そうだ、excelで誰かに修正しておいてもらおう!」

こんな時に、csvファイルとして出力する意味がでてきます。
あとで修正されたcsvファイルをインポートするだけで済みます。


今回はこのあたりで終わりにしたいと思います。


一応音楽好きを名乗っていてカテゴリも音楽暮らしなので、ブログの締めにおすすめ音楽をご紹介していきます。
Suchmos “STAY TUNE” -> youtube link
最近は邦楽あまり聴かなかったのですが、これを聴いてこのバンドの虜になりました。
僕は自称車好きで、一応スポーツカーなんかも乗っているのですが、車で夜の首都高や湾岸道を流す感じが合いそうです。

Happiness in Design

シアワセをデザインする会社

営業ゼロで年間600件以上
お問い合わせをいただいている
ノウハウを惜しみなく。

アプリコットデザインには創業当初から営業マンはいません。
創業当初からWEBを活用することに重点を置いて、これまで試行錯誤してきました。その結果、年間600件以上の問い合わせををこのホームページから得ています。ホームページという集客ツールを提供している私たち自身が、自社のホームページで集客できないのでは、お客様に自信を持ってオススメすることはできません。自社の実験から「WEBを活用して集客するためのノウハウを蓄積」した上で、誰よりもホームページの素晴らしさを知り、自信をもってお客様にご提供していきたいと考えます。

VIEW MORE

CONTACT

お問い合わせ・ご相談は
お気軽にどうぞ。

tel.0120-622835

営業時間/10:00〜18:00 
定休日/土日祝日

プロジェクト

それぞれの
らしさ溢れる日常を。

カフェ、トリミングサロン、ネイルサロン、スクール「tone village(トーンビレッジ)」

カフェ、トリミングサロン、ネイルサロン、スクール「tone village(トーンビレッジ)」

カフェ/トリミングサロン/
ネイルサロン/スクール

2023.6.2(FRI)

GRAND OPEN

採用情報

recruit info

豊かで彩りのある社会をつくる!

私たちは仕事を通して、一人でも多くの人が未来に対する希望を描けるような、そんなワクワクする社会をつくっていきたいと思っています。

VIEW MORE