戻る

一定件数ずつレコードを画面表示する

<?php
header("Content-type: text/html; charset=utf-8");

define("DBSERVER","localhost");
define("DBUSER","root");
define("DBPASSWORD","root");
define("DBNAME","sampledb");

//DB接続
if(!$con = @mysql_connect(DBSERVER, DBUSER, DBPASSWORD)){
	die("MySQLに接続できませんでした!<br>");
	exit();
}

//DB選択
if(!$selectdb = @mysql_select_db(DBNAME)){
	die(DBNAME . "が見つかりませんでした!<br>");
	exit();
}


//文字コードセット
if(!$result =@mysql_query("SET NAMES utf8;")){
	echo "SQLエラー!<br>";
}


//1ページ当りの表示件数を設定
$ROWMAX = 8;



if (! isset($_GET["start"])) {
//はじめて呼び出されたとき
//総レコード数を取得
$sql = "SELECT Count(*) AS reccnt FROM fifaranking";
$rst = mysql_query($sql);
$col = mysql_fetch_array($rst);
$reccnt = $col["reccnt"];
mysql_free_result($rst);
//総ページ数を計算
$pgmax = ceil($reccnt / $ROWMAX);
//初期表示時の開始レコード番号を設定
$start = 0;
}
else {
//ページ移動用リンクから呼び出されたとき
$pgmax = $_GET["pgmax"];
$start = $_GET["start"];
}

//現在のページ番号を計算
$curpage = ($start / $ROWMAX) + 1;

//$startレコード目から$ROWMAX件のレコードを読み込むSQLを組み立て
$sql = "SELECT * FROM fifaranking LIMIT $start, $ROWMAX";
$body = "【$curpage ページ目】<BR>";
//結果セットを取得
$rst = mysql_query($sql);
//結果セットからデータをループで読み込み
while ($col = mysql_fetch_array($rst)) {
$body .= "<TR>";
$body .= "<TD align='center'>" . $col["rank"] . "</TD>";
$body .= "<TD>" . $col["team"] . "</TD>";
$body .= "<TD>" . $col["area"] . "</TD>";
$body .= "<TD align='right'>" . $col["point"] . "</TD>";
$body .= "</TR>";
}
//結果セットを破棄
mysql_free_result($rst);
//MySQLとの接続を解除
mysql_close();

//ページ移動用リンクの組み立て
//先頭ページへの移動用
$startprm = 0;
$link = "<a href=\"" . $_SERVER["PHP_SELF"] . "?pgmax=" . $pgmax . "&start=" . $startprm . "\"><<</a>  ";

//1つ前のページへの移動用
if ($curpage > 1) {
	$startprm = ($curpage - 2) * $ROWMAX;
}
else {
	$startprm = ($curpage - 1) * $ROWMAX;
}

$link .= "<a href=\"" . $_SERVER["PHP_SELF"] . "?pgmax=" . $pgmax . "&start=" . $startprm . "\"><</a>  ";

//各ページ番号への直接移動用
for ($cnt = 1; $cnt <= $pgmax; $cnt++) {
	$startprm = ($cnt - 1) * $ROWMAX;
	$link .= "<a href=\"" . $_SERVER["PHP_SELF"] . "?pgmax=" . $pgmax . "&start=" . $startprm . "\">" . $cnt . "</a>  ";
}

//1つ次のページへの移動用
if ($curpage < $pgmax) {
	$startprm = $curpage * $ROWMAX;
}
else {
	$startprm = ($curpage - 1) * $ROWMAX;
}

$link .= "<a href=\"" . $_SERVER["PHP_SELF"] . "?pgmax=" . $pgmax . "&start=" . $startprm . "\">></a>  ";

//最終ページへの移動用
$startprm = ($pgmax - 1) * $ROWMAX;
$link .= "<a href=\"" . $_SERVER["PHP_SELF"] . "?pgmax=" . $pgmax . "&start=" . $startprm . "\">>></a>";

?>
<!DOCTYPE HTML>
<html lang="ja-JP">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<table border="1">
	<tr>
		<th>順位</th>
		<th>チーム</th>
		<th>地域</th>
		<th>ポイント</th>
	</tr>
	<?=$body?>
</table>
<br>
<?=$link?>
</body>
</html>

inserted by FC2 system