今回はWordPressプラグイン作成でDBを使用する場合の記事を記載します。
DBは何に使う?
はっきり言って、何にでも使用できます。例として以下のようなものが挙げられます。
-
ユーザー管理 、ログインを使用してユーザー専用ページ、機能などの実装に使用します。 -
データの集計 、今回作成しようとしている「アンケートプラグイン」でも使用します。クリックした時に対象になるデータをDBに登録、登録した情報を元にアンケートの集計を行います。
3, WordPressのようなCMSの投稿記事の管理(表示) - 独自調査のまとめなど。。。
挙げればきりがないので、ここら辺にしておきますが。こんな感じで使用できます。
プラグインで使用するには?
一応、プラグインの作成に関しては以下の記事を参照してください。
・ローカルサーバーを立てる
・ダッシュボードにプラグイン画面を追加する
・プラグインでダッシュボードにメニューを追加する
・プラグインでダッシュボードにメニューを追加する2
・プラグインでダッシュボードにメニューを追加する3
そして、DBの使用方法に関して設計をします。
最近発見したのですが、このファイルがなかなか設計しやすいと思いご紹介いたします。
上のようなものですが、子供用だと思って甘くみてはいけません。
作るものを考える時に初めに「結論(結果)」をイメージすると思いますが、以下のような手順で使用すれば、大人も十二分に使用できるツールだと思います。
- 「結論」を真ん中の酢ページに記載します。
- 「結論」のものを作成するのに必要な部品を両サイドに書き出します。当然線を引っ張るなどの手間を加えてやれば、それだけ直感的に理解できるものになると思います。
- そして、作業手順を適当な形で記載してやります。書き方はものによるのでなんとも言えません。。。
しかし、このような形でかかれた設計図は「直感的」で「シンプル」なものになるのでユースケースとしても使用することができると思います。
プラグインへのDB作成
今回は、わかりやすい方法で、自分がそのように使用するのですが。。。
プラグインを有効にした時に作成
上記のように、プラグインを有効にした時に必要になるDBを作成するようにしようと思います。
懸念点としては、プラグインを有効にした時に「毎回テーブル(DB)が作成されると困る」というところです。。。
とりあえずは、テーブルの設計をします。
使用したいデータを列挙します。例えばログイン機能であれば、ID、ユーザー名、パスワード。。。などです。今回は使用しませんが、「パスワード」はDBのデータが盗まれたりすると大変危険(情報漏洩)なのでパスワードの登録は暗号化を使用します。
テーブルの作成方法
そして、設計ができたら「プラグインを有効にした時に作成する」プログラムを作ります。
先ほど懸念していた「毎回テーブルが作成されるのでは?」という部分も解決できます。
SQLを使用する
DBサーバーの名前にもある通り「SQL」を使用してテーブルを作成します。
SQLはDB操作に使用するプログラミング言語です。有名なものとしてはMySQLもそうでるがORACLEもあります。
ますはテーブル作成
テーブルを作成するのには「Create Table文」を使用します。今回はWordPressを使用しているのでMySQLのドキュメントをリンクに貼り付けています。
書き方は決まっていて下のように書きます。ちなみにコメントは「#」と「--」が使用できるようです。
CREATE TABLE pet -- 作成するテーブル名 (name VARCHAR(20), -- "name"というカラム名 owner VARCHAR(20), -- "owner"は20文字分 species VARCHAR(20), sex CHAR(1), -- 性別は一文字 birth DATE, -- 誕生日は日付型のデータ death DATE);
上のような文でテーブルを作成することができます。
そして、懸念点の解決方法としては以下のようにCreate Table文に「if not exists」をつけてやれば解決です。
MySQLのCreate Table文の文法
create table 自作テーブル if not exists
自分の作成したSQL(Create Table文)は下のようになりました。
create table if not exists questionary( question_id int not null PRIMARY KEY AUTO_INCREMENT, question varchar(60), answers varchar(60), hrml_class varchar(15), html_style varchar(15), click_count bigint);
これはローカルのDBサーバーに作成したので公開されていません。
ポイント
テーブルのキーになるカラム(question_id)はプライマリキーなのでこのテーブルでは必ず一意(テーブルの中では1つしか存在しない)なのでquestion_id=1というのは必ず1つになります。
そして、「AUTO_INCREMENT」をつけているのでデータが登録された時にバックエンドプログラムがquestion_idの値を追加してくれるというわけです。
まとめ
今回はアンケートプラグインで使用するDB(テーブル)を作成しました。使用したプログラミング言語は(SQL)というものです。
SQLはDB操作のためにいろんなことができます。メールの送信などもできます。
そんなわけでSQLが使えると色々と便利です。
でわでわ。。。
関連ページ
- WordPress プラグイン作成〜DBを使用する〜
- PHP PDO 〜MySQLにアクセスする〜
- PHP Ajax 〜DBに登録したデータを受信する〜
- Google Maps API PHP連携 〜マップ情報をDBに登録する〜
- PHP Image File 〜iPhoneやAndroidでの画像送受信の問題〜
- AngularJS Routing 〜PHPをWeb APIにする〜
- WordPress PHPカスタム〜根本的に見た目を変える〜
- WordPress PHPカスタム〜根本的に見た目を変える2〜
- Eclipse PHPプラグイン 〜ElipseでWordPress環境を構築〜
- WordPress テスト実装 〜heade-test.phpを表示〜
- AngularJS + PHP 〜WordPressと連携する〜
- AngularJS + PHP 〜AngularJSの実装〜
- AngularJS + PHP 〜AngularJSの実装2〜
- WordPress 処理解析 ~index.phpを眺める~
- WordPress Plugin NewStatPress ~アクセス解析プラグインAPIを使う~
- WordPress 処理解析 ~ログイン処理を調べる~
- WordPressカスタム〜アンケートボタンを追加する(設計)〜
- WordPressカスタム〜プラグインの作成〜
- WordPressカスタム〜ダッシュボードのプラグイン画面作成〜
- WordPressカスタム〜ダッシュボードのプラグイン画面作成2〜
- WordPressカスタム〜ダッシュボードのプラグイン画面作成3〜
- WordPress プラグイン作成〜アンケート作成プラグインを作る〜