PHPとMySQLを使って初心者が掲示板を作ってみる講座。
今回は掲示板の設計図を作り、これに合わせて、MySQLでデータベースを作成するところまで解説します。
「どんな掲示板ができるのかな。」と思ったら、下記の紹介動画をクリックしてくださいね。
↓↓↓
なお記事では掲示板に必要なコードはご紹介しますが、デザイン部分は省略しています。
デザイン部分も含めた形で、GitHubにコード公開しています。全体のコードを見たい時に、参考にしてください。
いいなと思ったら、GitHub右上のStarボタン、クリックしてもらえると、嬉しいです。
前回までの内容
掲示板作成の7ステップの目次と概要はこちらをご覧ください。
- 概要説明
- ① 設計図を作って、データベースの準備をしよう⇒今ここ
- ②会員登録画面をつくる 前編
- ③会員登録画面をつくる 後編
- ④会員登録確認画面をつくる
- ⑤ログイン画面をつくる
- ⑥投稿画面をつくる
- ⑦削除画面をつくる
要件定義を行う
まず最初に行うべきは「設計図」作り。
実際のプログラミングでは、この設計図を作る作業を「要件定義」と呼びます。
次の項目を決めておきましょう。
- 掲示板のテーマ
- 必要なページと、ページに入れる機能
- データベースの表に入れる項目
最初は紙に適当に書いてもOKです。
下記はものすごく適当な例ですが。参考程度にご覧ください。
設計図なしで適当に書くと、「こんな機能もほしいな」と変更が加わったりして、収拾がつかなくなったりします。
コードを書く前に設計図をシッカリ作っておくのがすごく大事!
特にデータベースは、最初からどんな項目をいれるか決めておいたほうが良いです。
最初に設計図を作っておくと、あとから項目を追加する時も、これによって、どの部分に変更が必要かを把握しやすくなります。
データベース作成
設計図を作った後は、設計図に沿って、データベースを作成しましょう。
今回はデータベースの中に、2つのテーブル(表)を作っていきます。
1つ目の表は【ユーザー情報を入れるテーブル】、2つ目は【投稿内容を入れるテーブル】とします。
phpMyAdminにログインする
XAMPPのMySQL「Admin」からログインします。
MySQLにデータベースを作る
ログイン後、「新規作成」をクリックします。
「データベースを作成する」画面になるので、データベース名を入れ、作成ボタンを押します。
右側は下記のとおり「utf8mb4_general_ci」にします。データベース名はforumとします。
ユーザー情報用のテーブル members を作る
データベースの中に、テーブルを作っていきます。
最初にユーザー用テーブルを作成しましょう。
データベース作成後に表示される画面で、テーブル名をmembersとします。【追加】には、追加するカラム数を指定します。今回は2を指定して、右下の【実行】ボタンを押します。
これで、全部で6個のカラムができます。
各カラムには、つぎの6種類の情報をいれます。
id | 番号 |
name | 名前 |
メールアドレス | |
password | パスワード |
created | 作成日時 |
modified | 更新日時 |
次のように指定します。
【ユーザー情報用テーブル members】
- 各カラムのタイプには、どういったデータを入れるか、【データ型】を指定します。
- idカラムは、AIにチェックをいれます。するとインデックスはPRIMARYとなります。
- createdとmodifiedは、CURRENT_TIMESTAMPを選択します。
- modifiedは、ON UPDATE CURRENT_TIMESTAMP を選択します。
データ型と、idカラムに指定した「AI」について、補足説明します。
データ型とは
データベースを作る際は、各項目の「データの型」を指定せねばなりません。
よく使うデータ型は、次のとおり。
【データ型】
TINYINT | 小さい整数。符号なしの範囲は0から255まで。ユーザー名やパスワードなど、255文字以内におさまるデータに使える。 |
---|---|
INT | 普通のサイズの整数。数字を入れるものに使える。 |
DATETIME | 日付と時間の組み合わせ。データを登録した日時を記録できる。 |
TIMESTAMP | タイムスタンプ。データベースにデータを更新する際、自動的に現在の日付と時刻を指定できる。 |
TEXT | テキスト情報を入れる。投稿内容などに使える。 |
データに合わせて、型を選んでいきましょう。
AIについて
AIは人工知能を連想させますが、Auto-incrementの略で、直訳すると、自動増加といった意味です。
【id】の部分はAIにしておきます。するとPRIMARYキーに設定されます。つまり、idが主キーとなります。
AIにしたことで、データが追加されるごとに、自動的に番号がひとつずつ増える形で、付与されていきます。
投稿情報用のテーブルを作る
それでは次に、ふたつめの投稿情報用のテーブルを作ります。
データベース作成後に表示される画面で、テーブル名をpostsとします。【追加】には、追加するカラム数を指定します。今回は1を指定して、全部で5個のカラムができるようにします。
右下の【実行】ボタンを押します。
各カラムには、つぎの5種類の情報をいれます。
id | 番号 |
post | 投稿内容 |
created_by | 作成者 |
created | 作成日時 |
modified | 更新日時 |
次のように入力します。
【投稿情報用テーブル posts】
- 各カラムのタイプには、どういったデータを入れるか、【データ型】を指定します。
- idカラムは、AIにチェックをいれます。するとインデックスはPRIMARYとなります。
- createdとmodifiedは、CURRENT_TIMESTAMPを選択します。
- modifiedは、ON UPDATE CURRENT_TIMESTAMP を選択します。
さいごに
これでデータベースができました。
続きは、次の記事で解説していきます。
コメント
dbはまずこれだけ作ればいいのですか?
本ブログ内で解説している内容であれば、これで大丈夫です。
投稿用の情報の4つ目は何が入りますか?
imageですが、記事では解説していないので、見えなくしてあります。
記事を読ませて頂いて掲示板を作ってみようと興味が湧きまずは、書いて下さったGithubにあるコードを自分のVSコードで再現したいのですが、どこか直したりしないといけませんか?
そのままでも見れますか?
はい。ダウンロードしたファイルは、VS Codeでも開けます。