ランダムページ データベース一覧 ソースと解説

どのページのヘッダー右下にある●ランダム・ページというボタンに関しては先に解説してありますように、データベースに登録してあるhtmlファイルをランダムに選んで、そこにredirectoするphpプログラムを起動している訳です。

当然、そのデータベースに登録されていないページは、このボタンで表示されることはありません。当初は新しいページを作成したら、すぐに登録するつもりでいたのです。ところが、なかなかこれがおっくうなので、ついつい手を抜いてしまい、登録を怠っていました。

そこで、今回はそのデータベースにどこまで登録されているのかを一覧表示するphpプログラムを作って、登録作業の支援をすることにしました。

概要

どのような機能があればいいかなと、検討してみた結果、あまり細かなことは必要なくて、単純にふたつの機能だけに絞りました。

  1. id順の全レコード一覧表示
  2. directory順、htmlファイル名順の一覧表示

phpソース

実際の文字コードはUTF-8ですが、ここではShift-JISにして表示します。

MVCfile name概要
Controllerrandompagedb.phpプログラムの本体
Modelrandompage_model.phpデータベース関連関数の定義
Viewrandompagedb_main.php各一覧表示のhtmlを作る部分
randompagedb_tmpl.phpWebブラウザに送るhtmlを構成する枠組
header.phpAvocadoMix共通ヘッダー
footer.phpAvocadoMix共通フッター

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

  1. 縦にかなり長いリストになるので、先頭にtopというタグをつけて、最下行からジャンプできるようにしています。
  2. id順とdirectory順のふたつの表示を$titleという変数にタイトル名を入れることによって実現しています。
  3. 判りやすく、項目名には色をつけ、全体に罫線をかけています。

views/randompagedb_tmpl.php

最終的にWebブラウザに送るhtmlを構成します。

実行

2017年5月21日 記