EC-CUBE EC-CUBEのカスタマイズ・制作会社 強いネットショップ構築します|EC-Orange

EC-Orange とは

EC-CUBE カスタマイズ

EC-CUBEインストール

EC-CUBE 環境構築ノウハウ

EC-CUBE 基本構成理解

ソースコード読解

EC-CUBE カスタマイズ:初歩

EC-CUBE カスタマイズ:基礎

EC-CUBE カスタマイズ:応用

EC-CUBE 機能拡張ノウハウ

EC-CUBE カスタマイズ    詳細情報をCSVファイルでゲット

    EC-CUBE カスタマイズ  >  EC-CUBE カスタマイズ:初歩  >  高度:SQL発行からCSV出力

カスタマイズ:初歩/高度:SQL発行からCSV出力

EC-CUBEには標準でCSV出力機能が搭載されていますので、大抵のことはデフォルトの機能で実現可能です。 ここではもっと細かい情報を得るために、SQL文を発行して、任意のCSVファイルを得る方法を紹介します。

    システム開発でお悩みの方は、ネットショップ構築パッケージ EC-Orange にお問い合わせください


CSVファイルを作るには

コンテンツ管理>CSV出力設定

から、商品管理、顧客管理などのCSV出力項目を設定することができます。
CSV出力項目については、EC-CUBEマニュアル CSV出力項目設定も併せてご参照ください。

今回使用するのは一番下の、「高度な設定」です。
ここでは直接SQL文を記述することで、任意のCSVファイルを作成することができます。

SQL文を書く

基本の構文

SQLの構文は非常に簡単で、

SELECT (カラム名) FROM (テーブル名) WHERE (抽出条件)

で、希望のカラムから、希望の条件を抽出できます。

同一のカラム名がある場合には

  • customer_id
  • product_id

などのカラム名は、複数のテーブルで使用されています。
例えば、

  • dtb_customerのcustomer_id

を指定したい場合には、

dtb_customer.customer_id

と、ピリオドで繋ぎます。

複数のテーブルを結合したい場合には

例えば、テーブルAとテーブルBを、product_idをキーとして結合させた表を表示させたい場合は、
WHERE句の中で、

A.product_id = B.product_id

と記述してください。

カスタマイズ例

ユーザ閲覧履歴テーブル(dtb_customer_reading)と、商品テーブル(dtb_products)から、ある一定期間の商品ごとの閲覧履歴を抽出するCSVを作成してみます。
SQL文は以下の通りです。

product_id , name , COUNT(reading_product_id)
FROM
dtb_customer_reading, dtb_products
WHERE
reading_product_id=product_id AND
dtb_customer_reading.create_date >= "2008-11-22 00:00" AND
dtb_customer_reading.create_date <= "2008-11-23 23:59"
GROUP BY
reading_product_id

これで、2008年11月22日0:00から2008年11月23日23:59までの1日間の商品閲覧履歴がCSV形式で取得できます。
※商品閲覧機能はデフォルトではオフになっています。




EC-CUBEのデザイン・カスタマイズや、ECサイトの開発・構築でお困りなら、
ネットショップ構築パッケージEC-Orangeにお問い合わせください!