ブログシステムの構築(7)
トップの一覧と詳細を作成
- サイトトップページ「index.php」を作成します
- 基本構造のみとします
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>オリジナルブログ</title> <link href="css/base.css" rel="stylesheet" media="screen, print, handheld" /> </head> <body> <h1>オリジナルブログ</h1> <div> <h2>ここに記事のタイトルが入ります</h2> <p>ここに内容が入ります</p> <p><a href="topic.php">もっと読む</a></p> <hr /> <h2>ここに記事のタイトルが入ります</h2> <p>ここに内容が入ります</p> <p><a href="topic.php">もっと読む</a></p> <hr /> <h2>ここに記事のタイトルが入ります</h2> <p>ここに内容が入ります</p> <p><a href="topic.php">もっと読む</a></p> <hr /> </div> <p><a href="#">前のページへ</a> <a href="#">次のページへ</a></p> </body> </html>
レコードセットを作成
- 「バインディング」→「レコードセット(クエリー)」を選択
- 名前:entry_list
- 接続:MyBlogDatabase
- テーブル:entry_table
- ソート:entry_id「降順」
リピート領域を作成
- 「div領域」を選択
- 「サーバービヘイビア」→「リピート領域」
設定した件数が表示されます。
ダミー記事を削除して保存
<?php require_once('Connections/MyBlogDatabase.php'); ?> <?php if (!function_exists("GetSQLValueString")) { function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") { if (PHP_VERSION < 6) { $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue; } $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue); switch ($theType) { case "text": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "long": case "int": $theValue = ($theValue != "") ? intval($theValue) : "NULL"; break; case "double": $theValue = ($theValue != "") ? doubleval($theValue) : "NULL"; break; case "date": $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL"; break; case "defined": $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue; break; } return $theValue; } } $maxRows_entry_list = 3; $pageNum_entry_list = 0; if (isset($_GET['pageNum_entry_list'])) { $pageNum_entry_list = $_GET['pageNum_entry_list']; } $startRow_entry_list = $pageNum_entry_list * $maxRows_entry_list; mysql_select_db($database_MyBlogDatabase, $MyBlogDatabase); $query_entry_list = "SELECT * FROM entry_table ORDER BY entry_id DESC"; $query_limit_entry_list = sprintf("%s LIMIT %d, %d", $query_entry_list, $startRow_entry_list, $maxRows_entry_list); $entry_list = mysql_query($query_limit_entry_list, $MyBlogDatabase) or die(mysql_error()); $row_entry_list = mysql_fetch_assoc($entry_list); if (isset($_GET['totalRows_entry_list'])) { $totalRows_entry_list = $_GET['totalRows_entry_list']; } else { $all_entry_list = mysql_query($query_entry_list); $totalRows_entry_list = mysql_num_rows($all_entry_list); } $totalPages_entry_list = ceil($totalRows_entry_list/$maxRows_entry_list)-1; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>オリジナルブログ</title> <link href="css/base.css" rel="stylesheet" media="screen, print, handheld" /> </head> <body> <h1>オリジナルブログ</h1> <?php do { ?> <div> <h2><?php echo $row_entry_list['subject']; ?></h2> <p><?php echo $row_entry_list['digest']; ?></p> <p><a href="topic.php">もっと読む</a></p> <hr /> </div> <?php } while ($row_entry_list = mysql_fetch_assoc($entry_list)); ?> <p><a href="#">前のページへ</a> <a href="#">次のページへ</a></p> </body> </html> <?php mysql_free_result($entry_list); ?>