ブログシステムの構築(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「降順」


バインディングを作成
  • subject→タイトル
  • digest→内容

リピート領域を作成
  • 「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);
?>
ブラウザで確認