前期第10回 - oddmutou/jugyo-2025kyototech GitHub Wiki

それなりにちゃんとした掲示板を作ってみましょう。

まずは掲示板の投稿を保存するテーブルを新しく作成します。

電子掲示板(= BBS)の投稿(= entry)を保存するため、 bbs_entries というテーブル名にします。

CREATE TABLE `bbs_entries` (
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    `body` TEXT NOT NULL,
    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP
);

AUTO INCREMENT で PRIMARY KEY な id カラムをつけています。

次に、ページを作成します。

vim public/bbstest.php

中身はこんなかんじ: https://github.com/oddmutou/jugyo-2025kyototech/blob/7727896dde4650418635afb2e3903dedf69adc08/zenki_10/public/bbstest.php

わりとちゃんと掲示板として動くはずです。

演習

それでは掲示板に機能を追加していきましょう。

演習1

投稿の個別ページを用意しましょう。

任意の投稿一つだけを表示するページです。

主キー(primary key)はユニークであるため、主キーであるidカラムをURLクエリパラメータに入れると良いでしょう。

動作例: http://54.160.147.186/enshu1.php

実装例: https://github.com/oddmutou/jugyo-2025kyototech/commit/ff1f75b0df7e24be7294b0d29eb8b71d1ab9ce25

演習2

投稿の本文を検索できるようにしましょう。

LIKE句を用い、部分一致検索で実装してみましょう。

検索状態から検索を解除するリンクも作っておくと使いやすくてよいでしょう。

動作例: http://54.160.147.186/enshu2.php

実装例: https://github.com/oddmutou/jugyo-2025kyototech/commit/a7fd562fe30ec111a005427870e4ccb337fbb9a0