ランダムページ データベース一覧 ソースと解説
どのページのヘッダー右下にある●ランダム・ページというボタンに関しては先に解説してありますように、データベースに登録してあるhtmlファイルをランダムに選んで、そこにredirectoするphpプログラムを起動している訳です。
当然、そのデータベースに登録されていないページは、このボタンで表示されることはありません。当初は新しいページを作成したら、すぐに登録するつもりでいたのです。ところが、なかなかこれがおっくうなので、ついつい手を抜いてしまい、登録を怠っていました。
そこで、今回はそのデータベースにどこまで登録されているのかを一覧表示するphpプログラムを作って、登録作業の支援をすることにしました。
概要
どのような機能があればいいかなと、検討してみた結果、あまり細かなことは必要なくて、単純にふたつの機能だけに絞りました。
- id順の全レコード一覧表示
- directory順、htmlファイル名順の一覧表示
phpソース
実際の文字コードはUTF-8ですが、ここではShift-JISにして表示します。
MVC | file name | 概要 |
---|---|---|
Controller | randompagedb.php | プログラムの本体 |
Model | randompage_model.php | データベース関連関数の定義 |
View | randompagedb_main.php | 各一覧表示のhtmlを作る部分 |
randompagedb_tmpl.php | Webブラウザに送るhtmlを構成する枠組 | |
header.php | AvocadoMix共通ヘッダー | |
footer.php | AvocadoMix共通フッター |
controllers/randompagedb.php
index():データベース・テーブルfilelistからid順に読み出した全レコードを一覧表示します。
directoryjun():データベース・テーブルfilelistからname順に読み出した全レコードを一覧表示します。
models/randompage_model.php
今回追加したのは、以下のふたつの関数です。
get_idjun_list():id順に全レコードを読み込んで結果を返します。
get_directoryjun_list():name順に全レコードを読み込んで結果を返します。
views/ randompagedb_main.php
- 縦にかなり長いリストになるので、先頭にtopというタグをつけて、最下行からジャンプできるようにしています。
- id順とdirectory順のふたつの表示を$titleという変数にタイトル名を入れることによって実現しています。
- 判りやすく、項目名には色をつけ、全体に罫線をかけています。
views/randompagedb_tmpl.php
最終的にWebブラウザに送るhtmlを構成します。
実行
2017年5月21日 記