MySQLとデータベースとテーブルの関係を混乱している方が時折いらっしゃるようですので、簡単にまとめてみます。


・MySQLとは


まず、MySQLというのはデータベースを管理するソフトウェアの名前です。


 ・日本MySQLユーザ会
 http://www.mysql.gr.jp/


・テーブルとは


データはテーブル(表)で管理します。


難しく考えることはありません。たとえば、名簿を作りたいなと思ったら、Excelなどで一覧表を作りますよね。それと同じように、MySQL上のテーブルも行と列で構成されています。


下の図はXOOPSのグループ情報を管理していテーブルです。列方向に項目名が並び、1行に1件のデータが保存されていることがわかります。

MySQLのテーブル・データ表示  ←クリックすると拡大表示されます


・データベースとは


上述したテーブルを目的別に集めたのがデータベースです。たとえば、顧客管理データベース、人事管理データベースというふうにまとめます。


これらの3つの関係を階層別に表すと以下のようになります。

 データベース

   |-テーブル

     |-データ


・お奨め本


いきなり、MySQLの専門書を読むのは難しいと思います。まずは、「データベース」の基本的な仕組みとSQL言語を勉強するとよいでしょう。以下の本は図解を多用して、初心者にもわかりやすく解説されています。

弓場 秀樹
データベース村へ,ようこそ

私はまだ読んでいませんが、このタイトルから想像するとなんだか良さげですよね。

石田 豊
MySQL入門以前

オンライン上にマニュアルも公開されていますが、一冊用意しておくと便利なリファレンスものです。

ランディ・ジェイ イァーガー, ティム キング, ジョージ リース, Randy Jay Yarger, Tim King, George Reese, 高見 禎成, 寺田 美穂子, ソフトエージェンシー
MySQL & mSQL

XOOPSの標準機能にある「カスタム・ブロック」ではHTMLやBBcodeが使えますが、blocksadminモジュールを導入するとSPAWで編集できるようになります。


・導入手順

1. blocksadminモジュールをインストール


 PEAK XOOPS-「blocksadmin」モジュールダウンロードページ

 http://www.peak.ne.jp/xoops/md/mydownloads/singlefile.php?cid=1&lid=43


2. TinyDのspawディレクトリをサーバへアップロード


 TinyDモジュールと一緒に配布されているspawディレクトリをサーバのcomonディレクトリにアップロードします。つまり、パスは/common/spaw/となるようにしてください。


 PEAK XOOPS-「TinyD」モジュールダウンロードページ

 http://www.peak.ne.jp/xoops/md/mydownloads/singlefile.php?cid=1&lid=18


・カスタムブロック編集手順

1. [SYSTEM ADMIN]-[ブロック管理]の画面下部にある「新規ブロック作成」からブロックを作成。この時の編集方法はどれでも結構です。


2. モジュールアイコン[BLOCKS ADMIN]を選択して、「カスタムブロック」を選択します。

blocksadmin編集画面 ←クリックすると拡大表示されます


3. 編集画面で「SPAW」ボタンをクリックします。


blocksadminのSPAWボタン ←クリックすると拡大表示されます


4. SPAWはWebベースのWYSIWYGエディタなので、下図のように簡単に書式の設定を行うことができます。


blocksadminでSPAW編集中 ←クリックすると拡大表示されます

mainfile.phpの主な記述内容です。


XOOPSをインストールした際に自動的に内容が書き込まれますが、サイトの移設や復旧の際に、自分で編集しなければいけないこともあります。


新しくmainfile.phpが必要になった場合は、mainfile.dist.phpの内容を以下のように変更するとよいでしょう。


34: define('XOOPS_ROOT_PATH', 'サイトのフルパス');

   ※末尾のスラッシュは不要


39: define('XOOPS_URL', 'サイトのURL');

   ※末尾のスラッシュは不要


68: define('XOOPS_DB_PREFIX', 'テーブル接頭語');


72: define('XOOPS_DB_HOST', 'データベースホスト名');


76: define('XOOPS_DB_USER', 'データベースのユーザ名');


80: define('XOOPS_DB_PASS', 'データベースのパスワード');


84: define('XOOPS_DB_NAME', 'データベース名');

よく、公式サイトの過去レスを検索しても、何もヒットしなくて困ったというお話を聞きます。


AND検索は半角スペースで


XOOPSの検索機能は、AND検索に半角スペースを指定しなければいけません。全角スペースでキーワードを区切った場合、その単語が正しく認識されないのです。


以下の図ように半角スペースでキーワードを区切りましょう。

XOOPS公式サイトで検索 ←クリックすると拡大表示されます


「すべて表示」ボタン


意外にも見落としがちなのが、検索結果の下に表示される「すべて表示」ボタンです。キーワードによっては、膨大な量のスレッドがヒットしますので、このボタンをクリックして次のページの検索結果も読んでみましょう。


すべて表示 ←クリックすると拡大表示されます


OR検索


「高度な検索」ボタンをクリックして、OR検索することもできます。「画面が真っ白になる」というトラブルがよくありますが、こんな時は以下の図のように「真っ白」と「まっしろ」のOR検索で解決事例を探してみましょう。


デフォルトでは、「検索対象のモジュール」欄ですべてのモジュールにチェックが入っています。このままでは、検索結果が表示されるまで時間がかかってしまいますので、「フォーラム」(Cubeプロジェクト発足後設置された現在のもの)と「旧フォーラム」に検索対象を絞り込むとよいでしょう。

XOOPSの高度な検索ボックス ←クリックすると拡大表示されます


XOOPS検索モジュール


ご自分のサイトに検索機能を設置する場合は、「XOOPS検索モジュール」をお奨めします。これをインストールすると、全角スペースでの検索が可能となります。


「アメジスト・ブルー」-「XOOPS検索モジュール」ダウンロードページ

http://www.suin.jp/modules/mydownloads/viewcat-cid-6.asp


この内容は「はじめてのXOOPS」 セミナーでも紹介しています。

「ログイン」ブロックをうっかり非表示にしてしまうことがあります。


あるいは、ゲスト・ユーザ中心のサイトで特定の管理者アカウントしかログインしないという場合は、このブロックを隠しておくのも良いでしょう。


「ログイン」ブロック

XOOPSのログインブロック


そんな時は、ブラウザのアドレス欄に「サイトのURL/user.php」を直接指定して、ログイン画面を表示させてください。


例: http://www.tokyo-ramen.org/demo01/user.php


ログイン画面
XOOPSサイトでuser.phpを指定する ←クリックすると拡大表示されます


「ユーザメニュー」ブロックを非表示にしてしまうこともあります。これが無いと、「管理者メニュー」へのリンクも表示されません。


「ユーザメニュー」ブロック

XOOPSのユーザメニュー


そんな時は、ブラウザのアドレス欄に「サイトのURL/admin.php」を直接指定して、ログイン画面を表示させてください。


管理画面

XOOPSサイトでadmin.phpを指定する ←クリックすると拡大表示されます

XOOPSで構築されたサイトを訪れた際、そこで使われているモジュール名を知りたくなることがあります。そんな時はブラウザのアドレス欄に表示されるURLをご覧ください。


例:XOOPS Cube公式サイトのフォーラム

 http://xoopscube.jp/modules/xhnewbb/viewtopic.php ?・・・


XOOPSのモジュール名  ←クリックすると拡大表示されます

modulesディレクトリの後に続くのがモジュール名です。

つまり、XOOPS Cube公式サイトではxhnewbbモジュールを使っているというわけです。


モジュールはこのようにURLに表示されるディレクトリ名のほか、日本語による通称がある場合もあります。


この内容は「はじめてのXOOPS」 セミナーでも紹介しています。