<?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>