ソース掲示板




すべてから検索

キーワード   条件 表示 現行ログ 過去ログ トピックス 名前 本文

  メンテナンス 前画面に戻る

対象スレッド 件名: PHP : 掲示板表示部分ページ処理
名前: lightbox
処理選択
パスワード

件名 PHP : 掲示板表示部分ページ処理
名前 lightbox
コメント
@DIV
<?
// *********************************************************
// このコードは、繰り返し部分で、直接 print で出力して
// HTML を完成させるサンプルです
// *********************************************************

require_once("css.php");
require_once("model.php");

$row = file("data.csv");

print "<HR>";
print "<TABLE border=1 style='width:400px; margin: 0 auto 0 auto'>";

// ページ指定用 : 未設定は1ページ目扱い
if ( $_GET['page'] == '' ) {
	$_GET['page'] = 1;
}

// リンク用文字列
$link = "";
// 投稿カウンタ
$i = 0;
// ページあたりの投稿数
$a = 5;
foreach( $row as $value ) {

	// カウントアップ
	$i = $i + 1;
	// この投稿がどこのページに所属するか
	$x = (floor(($i-1)/$a))+1;

	$col = explode_by_name( $value );

	// 行の作成

	// 指定したページのみを表示する
	if ( $x == $_GET['page'] ) {
		print "<TR><TD></TD></TR>";
	
		print "<TR>";
		print "<TD>";
	
		print "<TABLE border=1 style='width:100%'>";
		print "<TR><TD class=ttl style='width:90px;'>タイトル</TD><TD>{$col['タイトル']}</TD></TR>";
		print "<TR><TD class=ttl>お名前</TD><TD>{$col['氏名']}</TD></TR>";
		print "<TR><TD colspan=2>{$col['本文']}</TD></TR>";
		print "</TABLE>";
	
		print "</TD>";
		print "</TR>";

		// ページリンクを計算で作成する場合は、この処理でループを脱出
		if ( ($i % $a) == 0 ) {
//			break;
		}
	}

	// 同一ページで複数ループが実行されるので、先頭の一度だけを対象として処理
	if ( ($i % $a) == 1 ) {
		// 現在のページの場合は、リンクを作らない
		if ( $x == $_GET['page'] ) {
			$link .= "$x ";
		}
		// ページリンクを作成
		else {
			$link .= "<a href='jyusin.php?page=$x'>$x</a> ";
		}
	}


}
print "</TABLE>";

?>
<div style='width:400px; margin: 20px auto 100px auto'>
<?= $link ?>
</div>
</BODY>
</HTML>
@END

  [[model.php]]
@DIV
<?
// *********************************************************
// 引数の文字列をカンマで分解して、「名前」で管理する為の
// データを追加する
// *********************************************************
function explode_by_name( $value ) {

	$ret = explode( ",", $value );

	$ret['タイトル'] = $ret[0];

	$ret['氏名'] = $ret[1];

	$ret['投稿日付'] = $ret[2];

	$ret['本文'] = $ret[3];

	return $ret;

}
?>
@END