データベースCGI。
サーバーを使える人にとっては、データベースCGIってめちゃくちゃ便利なんですよね。
MySQLとか本格的なデータベースって難しそうじゃないですか。
でも、CGIはHTMLがわかれば使えるレベルなので、ブログをやっていたりECサイトをやっている人はぜひ活用してみてください。
データベースCGIどこまで知ってる?
データベースと聞けば、例えば、お客さん1000人の名簿がある。
そこから、千葉県のお客さんだけを抽出したり男性だけを抽出したり。
データベースを使ったことがない人なら、その程度しか考えられないのではないでしょうか。
でも、そういった使い方は、わざわざデータベースCGIを使わなくても、ショップサーブを始めとしたEC開業サービスについています。
都道府県別どころか、購入商品や購入金額、購入頻度など、実にこまかく条件を設定して書き出すことができます。
では、データベースCGIはどういったことに使えるのか?
私自身が「超便利!」と思って使っている方法をひとつ紹介します。
データベースCGIはデータの調理器
キッチンには、包丁やボウル、フライパン、そしてガス(電気)があります。
これらがあれば、キャベツ、小麦粉、豚肉、出汁などの材料をもとにお好み焼きを作ることができます。
豚肉とキャベツだけで炒めものという選択もあります。
出汁を沸かしてキャベツを入れてお吸い物を作る選択もあります。
このように、データという素材を調理するための(オールインワン)の道具がデータベースCGIと言えます。
私は、このCGIをどのように使っているかというと、商品データの調理です。
具体的には、ショップサーブに出店しているお店のデータをShopifyに移植するためには、データの並びを変えないといけません。(EC開業サービス毎にデータの並び方が違うため)
数千点ある商品データをエクセルで挿入やコピペを繰り返して作っていると日が暮れます。
そこで、データベースCGIを使って一発で並べ替えることができます。
データベースCGIテクニック
さて、一発でデータを並べ替える方法にふれるまえに、データベースCGIの構成を簡単に紹介します。
データベースCGIは大きく3つのパーツに分かれます。
1.データベース・プログラム(*)
2.テンプレート
3.データ(CSVファイル等)
*のプログラムは、プログラマーが作ったものなので中身は見ても素人にはわかりませんし、編集もできないので触ることはできません。
でも、テンプレートはHTMLでできており、HTMLがわかる人には編集可能です。
データは、おのおのが必要なものを用意します。
ここで「テンプレートって何?(用途は?)」と思うかも知れません。
テンプレートは、簡単に言えば、データの書き出し方法を指定するものです。
例えば、データの1列目を「A」、2列目が「B」として、テンプレートファイルに下記のように書きます。
<html>
<body>
AB
</body>
</html>
すると、データベースCGIは「A→B」という順番で書き出してくれます。
これを「BA」とすれば「B→A」と確実に書き出してくれます。
また、データがURLであれば、テンプレートに「<a href=”#”>A</a>、<a href=”#”>B</a>」と書いてやれば、自動的にリンクのタグができあがります。
このような特性を使って、データの入れ替え作業をしているのです。
もちろん、商品データのインポートは有料サービスを使えば簡単にできます。
でも、有料です。
無料のほうが良いですよね。
そんなわけで、私はデータベースCGIを使ってデータを調理しています。
商品ページを作っていました
今でこそShopifyやショップサーブを使って商品ページは自動生成されていますが、ECサイトを初めた頃は自作サイトを作りデータベースCGIを使って商品ページを作っていました。
商品データをもとに、商品ページの元になるHTMLテンプレートを作るという実にシンプルなやつです。
それ以前は、ホームページ制作ソフトで1点1点ページを作るというアホなことをやっていましたが、データベースCGIとの出会いで一瞬で商品ページを作ることができました。
そこから商品数数千点でも数万点でも一気に販売ページが作れたのでビジネスも急成長しました。
例えば、テンプレートは次のような感じです。
<html>
<body>
__1__(商品名)<Br>
__2__.jpg(商品写真)<br>
__3__(商品説明)<br>
<u>__4__<u>(メーカー小売価格)<br>(※<u>は打ち消し線)
<b style=”color:#ff9900;”>__5__円(販売価格)</b>
HTMLが理解できる人は、このテンプレートが書き出されたときのページがイメージできると思います。
データ書き出しの知識はFORM
データベースCGIを使ってデータを書き出す際に必要になるHTMLの知識はFORMです。
<form>~</form>で囲むやつですね。
FORMは、入力したデータや選択したデータをCGIに送る役目があります。
例えば、inputタグで「男」と入力してSubmitボタンを押せば、データベースに「男」というデータが送られ、データベースが該当データを返してきます。
selectで都道府県の一覧があって「栃木県」を選択してデータベースに送れば、「栃木県」に該当するデータを返してきます。
また、FORMで「男」「栃木県」両方のデータを送ると、いずれにも合致するデータを返してきます。
そして、ここでポイントなのですが、実は、FORMは使わずデータを書き出すことができます。
それはURLです。
—-database.cgi?gender=man&pref=tochigi
この文字列わかりますでしょうか?
gender(性別)は男
pref(地域)は栃木
FORMから送るデータというのは、まんまURLに記載されるわけです。
だから、わざわざFORMを使わなくても、URLに取得したいデータの条件を直接打ち込んでやれば、回答が返ってくるわけです。
例えば、yahoo Japanの検索で「gender(性別)」と検索してみます。
検索結果のURLのは次のようになります。
https://search.yahoo.co.jp/search?p=gender&fr=top_ga1_sa&ei=UTF-8&ts=1733&aq=-1&oq=&at=&ai=0925ed24-5db2-4d05-bbfd-bde34807d8cf
「search」というデータベースプログラムに「p=gender」というデータを送っているのがわかると思います。
「ei=UTF-8」は、文字コードはUTF-8というのがわかりますが、それ以外は、Yahoo独自のデータ形式なので素人にはわかりません。
以上、データベースCGIを扱うには「FTP」はもちろんですが、簡単なHTMLとFORMが使えれば十分ということになります。
あとば、エクセルやOpenOfficeでCSVファイルを扱えたらOKです。
最強のデータベースCGIはこれだ!
ECサイトを初めた2000年から2005年頃は、自称CGIマニアと言えるほどCGIで遊びまくりました。
そのなかでたどり着いた最強のデータベースCGIが「cgiroom.nu」というサイトで無料配布されていたプログラムです。
残念ながら10年くらい前にサイトは閉鎖されて無料プログラムをダウンロードすることはできなくなりました。
当時はCGI無料配布サイトはブームでしたが、サイト閉鎖ってのも珍しくありませんでした。
ですから、「このデータベースCGIはヤバイぞ」と思った私は、ちゃっかりバックアップしておきました。
案の定、閉鎖されてしまったので、質問などのサポートこそ受けられませんがプログラムは使えるわけです。
あまりにも最強なので、閉鎖後、プログラマーにメールで「最強のこのプログラムうちのサイトで無料配布しても良いですか?」と質問を送ったところ・・・・
返答なし・・・
なので、公開できずです。
ただ、サイトも閉鎖されているし著作者の名前もネットに出ていないので、実質著作権放棄?みたいな感じです。
かと言って、勝手に配布するのは憚られます。
ただ、友人とか知人なら全然プレゼントしても問題ないんですけどね。
ここにはまだあるデータベースCGI
今でも残っているCGIの無料配布サイトはありますね。
代表格がCGI RESCUEでしょう。
一時、ここのショッピングカートCGIでお店を運営していた時期もあります。
このサイトのCGIは基本的なものが多く、データベースCGIも配布されているので、一度試してみてはいかがでしょうか。
ちなみに、ショッピングカートCGIでデータをもとに商品ページを書き出すタイプのCGIは、ある意味データベースCGIなので、何らかの応用が効くと思います。