MySQL データベースの処理13




データーベースの基礎知識

トップ5/ワースト5のレコードのみ取り出す

使用関数: LIMIT 句(SQL) ORDER BY 句(SQL)

  • あるデータの値の大きさを基準にして、トップ5/ワースト5を取り出して表示する。
  • COL 4 フィールドの値で降順に並べ替えて、LIMIT 句で先頭から5レコードだけを取り出す。

    ワースト5は、COL 4 フィールドの値で昇順に並べ替えて、LIMIT 句で先頭から5レコードだけを取り出す。


【 書式 】

PHPスクリプト

	<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table berder='1'>
	<tr>
		<th>順位</th>
		<th>チーム</th>
		<th>地域</th>
		<th>ポイント</th>
	</tr>";
	
	$TABLEFOOT = "</table>";

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);

	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
	// 1〜5レコード目を読み込む SQL を組み立てる
    $sql = "SELECT * FROM `TABLE 3` ORDER BY `COL 4` DESC LIMIT 5";
	$body .= "【 トップ5のデータ 】" . $TABLEHEAD;

  //結果セットを取得
  $rst = mysql_query($sql);

  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

	// COL 4 のワースト5を読み込む SQL を組み立てる
    $sql = "SELECT * FROM `TABLE 3` ORDER BY `COL 4` LIMIT 5";
	$body .= "【 ワースト5のデータ 】" . $TABLEHEAD;

  //結果セットを取得
  $rst = mysql_query($sql);

  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

  //MySQLとの接続を解除
  mysql_close();
?>

                    <table border="1">
                        <tr>
                            <th>タイトル</th>
                            <th>本体価格</th>
                            <th>発売</th>
                        </tr>
                        <tr>
                             <?=$body?>
                        </tr>
                    </table>


ソースコード


ソースコード【 HTML 】

<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table berder='1'>
	<tr>
		<th>順位</th>
		<th>チーム</th>
		<th>地域</th>
		<th>ポイント</th>
	</tr>";
	
	$TABLEFOOT = "</table>";

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);

	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
	// 1〜5レコード目を読み込む SQL を組み立てる
    $sql = "SELECT * FROM `TABLE 3` ORDER BY `COL 4` DESC LIMIT 5";
	$body .= "【 トップ5のデータ 】" . $TABLEHEAD;

  //結果セットを取得
  $rst = mysql_query($sql);

  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

	// COL 4 のワースト5を読み込む SQL を組み立てる
    $sql = "SELECT * FROM `TABLE 3` ORDER BY `COL 4` LIMIT 5";
	$body .= "【 ワースト5のデータ 】" . $TABLEHEAD;

  //結果セットを取得
  $rst = mysql_query($sql);

  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

  //MySQLとの接続を解除
  mysql_close();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>webサイト開発 | PHPサンプルサイト</title>
<link href="../css/reset.css" rel="stylesheet" type="text/css" media="screen">

<!-- CSS for slidesjs.com example -->
<link rel="stylesheet" href="../css/example.css">
<link rel="stylesheet" href="../css/font-awesome.min.css">
<!-- End CSS for slidesjs.com example -->

<link rel="stylesheet" href="../css/embet.css">
<link href="../css/common.css" rel="stylesheet" type="text/css" media="screen">
<link href="../css/page.css" rel="stylesheet" type="text/css" media="screen">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#list_menu > li > ul').slideUp() });

				$('#list_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#list_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<style type="text/css">
#main_menu > li > ul {
	display: none;
	padding: 10px 10px 5px;
	background: rgba(169, 169, 170, 1.0);
	cursor: pointer!important;
}
</style>
</head>
<body>

<!--▽#container-->
<div id="container">
<header class="clearfix">
		<h1><a href="../index.html"><img src="../images/logo.png" width="75" alt=""></a><span>webサイト開発 | PHPサンプルサイト</span></h1>
		
		<!--▽#menu-->
		<ul id="main_menu">
				<li>
				<a href=""><img src="../images/menu.png"  width="38px" alt=""></a>
				<ul class="menu_home">
						<li><span class="menu_title">HOME</span>
						<li><a href="#top">TOP</a></li>
						</li>
				</ul>
				<ul class="menu_link">
						<li><span class="menu_title">LINK</span>
						<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
						<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
						<li><a href="http://webrynote.jimdo.com/"></a>動画で確認するscript | FlashとJavaScrip</li>
						<li><a href="http://webry.dousetsu.com/"></a>実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</li>
						</li>
				</ul>
				<ul class="menu_sns">
						<li><span class="menu_title">SNS</span>
						<li><a href="https://twitter.com/webrynote">Twitter</a></li>
						<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
						<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</li>
				</ul>
				</li>
		</ul>
</header>
<!--▽.content-->
<div class="content"> 
		
		<!--▽.col1-->
		<section class="col1">
				<h2>データーベースの基礎知識</h2>
		</section>
		<!--▲.col1--> 
		
		<!--▽.content_inner-->
		<div class="content_inner">
				<section class="col2">
						<section id="post01" class="col2-1 post"> <a href="#post01">
								<h2><span class="ita">2-11&nbsp;</span>トップ5/ワースト5のレコードのみ取り出す</h2>
								</a>
								<div class="post_inner">LIMIT 句(SQL) ORDER BY 句(SQL)
										</p>
										<ul class="list01">
												<li>あるデータの値の大きさを基準にして、トップ5/ワースト5を取り出して表示する。</li>
												<li>COL 4 フィールドの値で降順に並べ替えて、LIMIT 句で先頭から5レコードだけを取り出す。<br>
														ワースト5は、COL 4 フィールドの値で昇順に並べ替えて、LIMIT 句で先頭から5レコードだけを取り出す。</li>
										</ul>
								</div>
						</section>
						<!--▲.col2-1-->
						
						<section class="col-code">
								<div id="post02" class="post"> <a href="#post02">
										<h2><span>PHPのコードを表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<pre>
<code>
&lt;?php
	$DBSERVER = "*******"; // MySQL サーバ名
	$DBUSER = "*******"; // ログインユーザ名
	$DBPASSWORD = "********"; // パスワード
	$DBNAME = "*********"; // データベース名

	$TABLEHEAD = "&lt;table berder='1'&gt;
	&lt;tr&gt;
		&lt;th&gt;順位&lt;/th&gt;
		&lt;th&gt;チーム&lt;/th&gt;
		&lt;th&gt;地域&lt;/th&gt;
		&lt;th&gt;ポイント&lt;/th&gt;
	&lt;/tr&gt;";
	
	$TABLEFOOT = "&lt;/table&gt;";

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);

	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
	// 1〜5レコード目を読み込む SQL を組み立てる
    $sql = "SELECT * FROM `TABLE 3` ORDER BY `COL 4` DESC LIMIT 5";
	$body .= "【 トップ5のデータ 】" . $TABLEHEAD;

  //結果セットを取得
  $rst = mysql_query($sql);

  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "&lt;TR&gt;";
    $body .= "&lt;TD align='center'&gt;" . $col['COL 1'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 2'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 3'] . "&lt;/TD&gt;";
    $body .= "&lt;TD align='right'&gt;" . $col['COL 4'] . "&lt;/TD&gt;";
    $body .= "&lt;/TR&gt;";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT&lt;br&gt;";

	// COL 4 のワースト5を読み込む SQL を組み立てる
    $sql = "SELECT * FROM `TABLE 3` ORDER BY `COL 4` LIMIT 5";
	$body .= "【 ワースト5のデータ 】" . $TABLEHEAD;

  //結果セットを取得
  $rst = mysql_query($sql);

  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "&lt;TR&gt;";
    $body .= "&lt;TD align='center'&gt;" . $col['COL 1'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 2'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 3'] . "&lt;/TD&gt;";
    $body .= "&lt;TD align='right'&gt;" . $col['COL 4'] . "&lt;/TD&gt;";
    $body .= "&lt;/TR&gt;";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT&lt;br&gt;";

  //MySQLとの接続を解除
  mysql_close();
?&gt;

&lt;?php 
&lt;?=$body?&gt;
?&gt;
</code>
</pre>
												</div>
										</div>
								</div>
						</section>
						<section class="col2">
								<div id="post03" class="post"> <a href="#post03">
										<h2><span>PHPでの表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<div class="php wd_wrap">
																<table border="1">
																		<tr>
																				<th>タイトル</th>
																				<th>本体価格</th>
																				<th>発売</th>
																		</tr>
																		<tr>
																				<?=$body?>
																		</tr>
																</table>
														</div>
												</div>
										</div>
								</div>
						</section>
						
						<!--<section class="col2">
<div id="post04" class="post">
<a href="#post04"><h2><span>FORMでの入力</span></h2></a>
<div class="post_inner">
<div class="inner">
<div>

</div>
</div>
</div>
</div>
</section>-->
						
						<p class="c_top"><a href="../index.html#13">&nbsp;カテゴリートップへ戻る</a></p>
						<section class="bottom clearfix"> <a href="#">
								<p class="page_top">TOP</p>
								</a>
								<div class="share_box">
										<p><span>このサイトをシェアする</span> <a href="https://twitter.com/share" class="twitter-share-button" data-via="webrynote">Tweet</a> 
												<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script><br>
										<div id="fb-root"></div>
										<script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) return;
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>
										</p>
								</div>
						</section>
						<!--▲.bottom--> 
				</section>
				<!--▲.content-->
				
				<footer>
						<ul>
								<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
								<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
								<li><a href="http://webrynote.jimdo.com/">動画で確認するscript | FlashとJavaScrip</a></li>
								<li><a href="http://webry.dousetsu.com/">実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</a></li>
								<li><a href="https://twitter.com/webrynote">Twitter</a></li>
								<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
								<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</ul>
						<address>
						Copyright &copy; 2014 webry&nbsp;-&nbsp;『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved.
						</address>
				</footer>
		</div>
		<!--▲.content_inner--> 
</div>
<!--▲#container-->

</body>
</html>


表示内容を確認

トップ5/ワースト5のレコードのみ取り出す




MySQL データベースの処理12




データーベースの基礎知識

新着データをピックアップ表示する

使用関数: LIMIT 句(SQL) ORDER BY 句(SQL)

  • 「 bookinfo 」テーブルには書籍のタイトル、価格、発売日のデータが保存されている。それぞれに「 title 」「 price 」「 releasedate 」という、フィールド名がつけられている。

    新しい書籍が発売されるたびにデータが追加登録されるので、発売日が古い順にデータが保存される。

    まず「 ORDER BY releasedate DESC 」という SQL 文によって、発売日の降順 = 最近発売された順に並べ替える。さらに「 LIMIT 5 」という記述によって、並べ替え後の先頭レコードから 5 レコード目までだけを取り出す。

    これにより「 新着書籍5冊 」をピックアップできる。


【 書式 】

PHPスクリプト

	<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);

	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
  // 1〜5レコード目を読み込む SQL を組み立てる
  $sql = "SELECT * FROM `TABLE 5` ORDER BY `releasedate` DESC LIMIT 5";

  //結果セットを取得
  $rst = mysql_query($sql);

  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD>" . $col['title'] . "</TD>";
    $body .= "<TD align='right'>" . $col['price'] . "</TD>";
    $body .= "<TD>" . $col['releasedate'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);

  //MySQLとの接続を解除
  mysql_close();
?>

                    <table border="1">
                        <tr>
                            <th>タイトル</th>
                            <th>本体価格</th>
                            <th>発売</th>
                        </tr>
                        <tr>
                             <?=$body?>
                        </tr>
                    </table>


ソースコード


ソースコード【 HTML 】

<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);

	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
  // 1〜5レコード目を読み込む SQL を組み立てる
  $sql = "SELECT * FROM `TABLE 5` ORDER BY `releasedate` DESC LIMIT 5";

  //結果セットを取得
  $rst = mysql_query($sql);

  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD>" . $col['title'] . "</TD>";
    $body .= "<TD align='right'>" . $col['price'] . "</TD>";
    $body .= "<TD>" . $col['releasedate'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);

  //MySQLとの接続を解除
  mysql_close();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>webサイト開発 | PHPサンプルサイト</title>
<link href="../css/reset.css" rel="stylesheet" type="text/css" media="screen">

<!-- CSS for slidesjs.com example -->
<link rel="stylesheet" href="../css/example.css">
<link rel="stylesheet" href="../css/font-awesome.min.css">
<!-- End CSS for slidesjs.com example -->

<link rel="stylesheet" href="../css/embet.css">
<link href="../css/common.css" rel="stylesheet" type="text/css" media="screen">
<link href="../css/page.css" rel="stylesheet" type="text/css" media="screen">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#list_menu > li > ul').slideUp() });

				$('#list_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#list_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<style type="text/css">
#main_menu > li > ul {
	display: none;
	padding: 10px 10px 5px;
	background: rgba(169, 169, 170, 1.0);
	cursor: pointer!important;
}
</style>
</head>
<body>

<!--▽#container-->
<div id="container">
<header class="clearfix">
		<h1><a href="../index.html"><img src="../images/logo.png" width="75" alt=""></a><span>webサイト開発 | PHPサンプルサイト</span></h1>
		
		<!--▽#menu-->
		<ul id="main_menu">
				<li>
				<a href=""><img src="../images/menu.png"  width="38px" alt=""></a>
				<ul class="menu_home">
						<li><span class="menu_title">HOME</span>
						<li><a href="#top">TOP</a></li>
						</li>
				</ul>
				<ul class="menu_link">
						<li><span class="menu_title">LINK</span>
						<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
						<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
						<li><a href="http://webrynote.jimdo.com/"></a>動画で確認するscript | FlashとJavaScrip</li>
						<li><a href="http://webry.dousetsu.com/"></a>実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</li>
						</li>
				</ul>
				<ul class="menu_sns">
						<li><span class="menu_title">SNS</span>
						<li><a href="https://twitter.com/webrynote">Twitter</a></li>
						<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
						<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</li>
				</ul>
				</li>
		</ul>
</header>
<!--▽.content-->
<div class="content"> 
		
		<!--▽.col1-->
		<section class="col1">
				<h2>データーベースの基礎知識</h2>
		</section>
		<!--▲.col1--> 
		
		<!--▽.content_inner-->
		<div class="content_inner">
				<section class="col2">
						<section id="post01" class="col2-1 post"> <a href="#post01">
								<h2><span class="ita">2-10&nbsp;</span>新着データをピックアップ表示する</h2>
								</a>
								<div class="post_inner">LIMIT 句(SQL) ORDER BY 句(SQL)
										</p>
										<ul class="list01">
												<li>「 bookinfo 」テーブルには書籍のタイトル、価格、発売日のデータが保存されている。それぞれに「 title 」「 price 」「 releasedate 」という、フィールド名がつけられている。<br>
														新しい書籍が発売されるたびにデータが追加登録されるので、発売日が古い順にデータが保存される。<br>
														まず「 ORDER BY releasedate DESC 」という SQL 文によって、発売日の降順 = 最近発売された順に並べ替える。さらに「 LIMIT 5 」という記述によって、並べ替え後の先頭レコードから 5 レコード目までだけを取り出す。<br>
														これにより「 新着書籍5冊 」をピックアップできる。</li>
										</ul>
								</div>
						</section>
						<!--▲.col2-1-->
						
						<section class="col-code">
								<div id="post02" class="post"> <a href="#post02">
										<h2><span>PHPのコードを表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<pre>
<code>
&lt;?php
	$DBSERVER = "*******"; // MySQL サーバ名
	$DBUSER = "*******"; // ログインユーザ名
	$DBPASSWORD = "********"; // パスワード
	$DBNAME = "*********"; // データベース名

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);

	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
  // 1〜5レコード目を読み込む SQL を組み立てる
  $sql = "SELECT * FROM `TABLE 5` ORDER BY `releasedate` DESC LIMIT 5";

  //結果セットを取得
  $rst = mysql_query($sql);

  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "&lt;TR&gt;";
    $body .= "&lt;TD&gt;" . $col['title'] . "&lt;/TD&gt;";
    $body .= "&lt;TD align='right'&gt;" . $col['price'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['releasedate'] . "&lt;/TD&gt;";
    $body .= "&lt;/TR&gt;";
  }
  //結果セットを破棄
  mysql_free_result($rst);

  //MySQLとの接続を解除
  mysql_close();
?&gt;

&lt;?php 
&lt;?=$body?&gt;
?&gt;
</code>
</pre>
												</div>
										</div>
								</div>
						</section>
						<section class="col2">
								<div id="post03" class="post"> <a href="#post03">
										<h2><span>PHPでの表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<div class="php wd_wrap">
																<table border="1">
																		<tr>
																				<th>タイトル</th>
																				<th>本体価格</th>
																				<th>発売</th>
																		</tr>
																		<tr>
																				<?=$body?>
																		</tr>
																</table>
														</div>
												</div>
										</div>
								</div>
						</section>
						
						<!--<section class="col2">
<div id="post04" class="post">
<a href="#post04"><h2><span>FORMでの入力</span></h2></a>
<div class="post_inner">
<div class="inner">
<div>

</div>
</div>
</div>
</div>
</section>-->
						
						<p class="c_top"><a href="../index.html#13">&nbsp;カテゴリートップへ戻る</a></p>
						<section class="bottom clearfix"> <a href="#">
								<p class="page_top">TOP</p>
								</a>
								<div class="share_box">
										<p><span>このサイトをシェアする</span> <a href="https://twitter.com/share" class="twitter-share-button" data-via="webrynote">Tweet</a> 
												<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script><br>
										<div id="fb-root"></div>
										<script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) return;
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>
										</p>
								</div>
						</section>
						<!--▲.bottom--> 
				</section>
				<!--▲.content-->
				
				<footer>
						<ul>
								<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
								<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
								<li><a href="http://webrynote.jimdo.com/">動画で確認するscript | FlashとJavaScrip</a></li>
								<li><a href="http://webry.dousetsu.com/">実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</a></li>
								<li><a href="https://twitter.com/webrynote">Twitter</a></li>
								<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
								<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</ul>
						<address>
						Copyright &copy; 2014 webry&nbsp;-&nbsp;『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved.
						</address>
				</footer>
		</div>
		<!--▲.content_inner--> 
</div>
<!--▲#container-->

</body>
</html>


表示内容を確認

新着データをピックアップ表示する




MySQL データベースの処理11




データーベースの基礎知識

特定の位置から指定レコード数のみ取り出す

使用関数: LIMIT 句(SQL)

  • 特定の位置から指定した数だけのレコード数を読み込むことができる。
    WHERE 句はデータの内容によって抽出するが、LIMIT 句は単純なレコード番号で抽出する。
  • 「 LIMIT 」に続けて読み込む最初のレコード番号、読み込むレコード数をカンマで区切って指定する。

    レコード番号は、1レコード目を「 0 」として数える。以下は、1〜5レコード目だけを読み込む例。

    LIMIT 0, 5

    「 LIMIT 5 」のように一方だけを指定した場合には、「 先頭から指定レコード数のみ 」が取り出せる。

    「 LIMIT 0, 5 」と「 LIMIT 5 」は同じ結果になる。


【 書式 】

PHPスクリプト

	<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table border='1'
	<tr>
		<th>順位</th>
		<th>チーム</th>
		<th>地域</th>
		<th>ポイント</th>
	</tr>";
	
	$TABLEFOOT = "</table>";

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);

	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
  // 1〜5レコード目を読み込む SQL を組み立てる
  $sql = "SELECT * FROM `TABLE 3` LIMIT 0, 5";
  $body .= "【 1〜5レコード目のデータ 】" . $TABLEHEAD;
  //結果セットを取得
  $rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

	// 3〜4 レコード目のレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` LIMIT 2, 4";
	$body .= "【 3〜4レコード目のデータ 】" . $TABLEHEAD;
	
	// 結果セットを取得
	$rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }	

  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

	// COL 4 が 1000以上の2〜5レコード目を COL 4 の昇順で読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1000
	ORDER BY `COL 4` LIMIT 1, 5";
	$body .= "【 COL 4 が 1000 以上の 2〜5レコード目、COL 4 の昇順データ 】" . $TABLEHEAD;

  //結果セットを取得
  $rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

  //MySQLとの接続を解除
  mysql_close();
?>

<?=$body?>


ソースコード


ソースコード【 HTML 】

<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table border='1'
	<tr>
		<th>順位</th>
		<th>チーム</th>
		<th>地域</th>
		<th>ポイント</th>
	</tr>";
	
	$TABLEFOOT = "</table>";

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);

	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
  // 1〜5レコード目を読み込む SQL を組み立てる
  $sql = "SELECT * FROM `TABLE 3` LIMIT 0, 5";
  $body .= "【 1〜5レコード目のデータ 】" . $TABLEHEAD;
  //結果セットを取得
  $rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

	// 3〜4 レコード目のレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` LIMIT 2, 4";
	$body .= "【 3〜4レコード目のデータ 】" . $TABLEHEAD;
	
	// 結果セットを取得
	$rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }	

  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

	// COL 4 が 1000以上の2〜5レコード目を COL 4 の昇順で読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1000
	ORDER BY `COL 4` LIMIT 1, 5";
	$body .= "【 COL 4 が 1000 以上の 2〜5レコード目、COL 4 の昇順データ 】" . $TABLEHEAD;

  //結果セットを取得
  $rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT<br>";

  //MySQLとの接続を解除
  mysql_close();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>webサイト開発 | PHPサンプルサイト</title>
<link href="../css/reset.css" rel="stylesheet" type="text/css" media="screen">

<!-- CSS for slidesjs.com example -->
<link rel="stylesheet" href="../css/example.css">
<link rel="stylesheet" href="../css/font-awesome.min.css">
<!-- End CSS for slidesjs.com example -->

<link rel="stylesheet" href="../css/embet.css">
<link href="../css/common.css" rel="stylesheet" type="text/css" media="screen">
<link href="../css/page.css" rel="stylesheet" type="text/css" media="screen">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#list_menu > li > ul').slideUp() });

				$('#list_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#list_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<style type="text/css">
#main_menu > li > ul {
	display: none;
	padding: 10px 10px 5px;
	background: rgba(169, 169, 170, 1.0);
	cursor: pointer!important;
}
</style>
</head>
<body>

<!--▽#container-->
<div id="container">
<header class="clearfix">
		<h1><a href="../index.html"><img src="../images/logo.png" width="75" alt=""></a><span>webサイト開発 | PHPサンプルサイト</span></h1>
		
		<!--▽#menu-->
		<ul id="main_menu">
				<li>
				<a href=""><img src="../images/menu.png"  width="38px" alt=""></a>
				<ul class="menu_home">
						<li><span class="menu_title">HOME</span>
						<li><a href="#top">TOP</a></li>
						</li>
				</ul>
				<ul class="menu_link">
						<li><span class="menu_title">LINK</span>
						<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
						<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
						<li><a href="http://webrynote.jimdo.com/"></a>動画で確認するscript | FlashとJavaScrip</li>
						<li><a href="http://webry.dousetsu.com/"></a>実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</li>
						</li>
				</ul>
				<ul class="menu_sns">
						<li><span class="menu_title">SNS</span>
						<li><a href="https://twitter.com/webrynote">Twitter</a></li>
						<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
						<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</li>
				</ul>
				</li>
		</ul>
</header>
<!--▽.content-->
<div class="content"> 
		
		<!--▽.col1-->
		<section class="col1">
				<h2>データーベースの基礎知識</h2>
		</section>
		<!--▲.col1--> 
		
		<!--▽.content_inner-->
		<div class="content_inner">
				<section class="col2">
						<section id="post01" class="col2-1 post"> <a href="#post01">
								<h2><span class="ita">2-9&nbsp;</span>特定の位置から指定レコード数のみ取り出す</h2>
								</a>
								<div class="post_inner">LIMIT 句(SQL)
										</p>
										<ul class="list01">
												<li>特定の位置から指定した数だけのレコード数を読み込むことができる。
														WHERE 句はデータの内容によって抽出するが、LIMIT 句は単純なレコード番号で抽出する。</li>
												<li>「 LIMIT 」に続けて読み込む最初のレコード番号、読み込むレコード数をカンマで区切って指定する。<br>
														レコード番号は、1レコード目を「 0 」として数える。以下は、1〜5レコード目だけを読み込む例。<br>
														<span class="b">LIMIT 0, 5</span><br>
														「 LIMIT 5 」のように一方だけを指定した場合には、「 先頭から指定レコード数のみ 」が取り出せる。<br>
														「 LIMIT 0, 5 」と「 LIMIT 5 」は同じ結果になる。 </li>
										</ul>
								</div>
						</section>
						<!--▲.col2-1-->
						
						<section class="col-code">
								<div id="post02" class="post"> <a href="#post02">
										<h2><span>PHPのコードを表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<pre>
<code>
&lt;?php
	$DBSERVER = "*******"; // MySQL サーバ名
	$DBUSER = "*******"; // ログインユーザ名
	$DBPASSWORD = "********"; // パスワード
	$DBNAME = "*********"; // データベース名

	&lt;tr&gt;
		&lt;th&gt;順位&lt;/th&gt;
		&lt;th&gt;チーム&lt;/th&gt;
		&lt;th&gt;地域&lt;/th&gt;
		&lt;th&gt;ポイント&lt;/th&gt;
	&lt;/tr&gt;";
	
	$TABLEFOOT = "&lt;/table&gt;";

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);

	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
  // 1〜5レコード目を読み込む SQL を組み立てる
  $sql = "SELECT * FROM `TABLE 3` LIMIT 0, 5";
  $body .= "【 1〜5レコード目のデータ 】" . $TABLEHEAD;
  //結果セットを取得
  $rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "&lt;TR&gt;";
    $body .= "&lt;TD align='center'&gt;" . $col['COL 1'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 2'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 3'] . "&lt;/TD&gt;";
    $body .= "&lt;TD align='right'&gt;" . $col['COL 4'] . "&lt;/TD&gt;";
    $body .= "&lt;/TR&gt;";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT&lt;br&gt;";

	// 3〜4 レコード目のレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` LIMIT 2, 4";
	$body .= "【 3〜4レコード目のデータ 】" . $TABLEHEAD;
	
	// 結果セットを取得
	$rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "&lt;TR&gt;";
    $body .= "&lt;TD align='center'&gt;" . $col['COL 1'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 2'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 3'] . "&lt;/TD&gt;";
    $body .= "&lt;TD align='right'&gt;" . $col['COL 4'] . "&lt;/TD&gt;";
    $body .= "&lt;/TR&gt;";
  }	

  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT&lt;br&gt;";

	// COL 4 が 1000以上の2〜5レコード目を COL 4 の昇順で読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` &gt;= 1000
	ORDER BY `COL 4` LIMIT 1, 5";
	$body .= "【 COL 4 が 1000 以上の 2〜5レコード目、COL 4 の昇順データ 】" . $TABLEHEAD;

  //結果セットを取得
  $rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "&lt;TR&gt;";
    $body .= "&lt;TD align='center'&gt;" . $col['COL 1'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 2'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 3'] . "&lt;/TD&gt;";
    $body .= "&lt;TD align='right'&gt;" . $col['COL 4'] . "&lt;/TD&gt;";
    $body .= "&lt;/TR&gt;";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "$TABLEFOOT&lt;br&gt;";

  //MySQLとの接続を解除
  mysql_close();
?&gt;

&lt;?php 
&lt;?=$body?&gt;
?&gt;
</code>
</pre>
												</div>
										</div>
								</div>
						</section>
						<section class="col2">
								<div id="post03" class="post"> <a href="#post03">
										<h2><span>PHPでの表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<div class="php wd_wrap">
																<?=$body?>
														</div>
												</div>
										</div>
								</div>
						</section>
						
						<!--<section class="col2">
<div id="post04" class="post">
<a href="#post04"><h2><span>FORMでの入力</span></h2></a>
<div class="post_inner">
<div class="inner">
<div>

</div>
</div>
</div>
</div>
</section>-->
						
						<p class="c_top"><a href="../index.html#13">&nbsp;カテゴリートップへ戻る</a></p>
						<section class="bottom clearfix"> <a href="#">
								<p class="page_top">TOP</p>
								</a>
								<div class="share_box">
										<p><span>このサイトをシェアする</span> <a href="https://twitter.com/share" class="twitter-share-button" data-via="webrynote">Tweet</a> 
												<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script><br>
										<div id="fb-root"></div>
										<script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) return;
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>
										</p>
								</div>
						</section>
						<!--▲.bottom--> 
				</section>
				<!--▲.content-->
				
				<footer>
						<ul>
								<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
								<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
								<li><a href="http://webrynote.jimdo.com/">動画で確認するscript | FlashとJavaScrip</a></li>
								<li><a href="http://webry.dousetsu.com/">実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</a></li>
								<li><a href="https://twitter.com/webrynote">Twitter</a></li>
								<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
								<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</ul>
						<address>
						Copyright &copy; 2014 webry&nbsp;-&nbsp;『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved.
						</address>
				</footer>
		</div>
		<!--▲.content_inner--> 
</div>
<!--▲#container-->

</body>
</html>


表示内容を確認

特定の位置から指定レコード数のみ取り出す




MySQL データベースの処理10




データーベースの基礎知識

HTML フォームで動的に並べ順をかえる

使用関数: ORDRE BY 句(SQL)

  • 画面上のボタンをクリックによって、それぞれのフィールドを基準としてデータを動的に並べ替え変更する例。


【 書式 】

PHPスクリプト

	<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

  //クリックされたボタンに応じて並べ替え基準を設定
  if (isset($_POST[btnsort1])) {
    //順位の昇順ボタン
    $orderby = "`COL 1`";
  }
  elseif (isset($_POST[btnsort2])) {
    //順位の降順ボタン
    $orderby = "`COL 1` DESC";
  }
  elseif (isset($_POST[btnsort3])) {
    //チームの昇順ボタン
    $orderby = "COL 2";
  }
  elseif (isset($_POST[btnsort4])) {
    //チームの降順ボタン
    $orderby = "`COL 2` DESC";
  }
  elseif (isset($_POST[btnsort5])) {
    //地域の昇順ボタン
    $orderby = "`COL 3`";
  }
  elseif (isset($_POST[btnsort6])) {
    //地域の降順ボタン
    $orderby = "`COL 3` DESC";
  }
  elseif (isset($_POST[btnsort7])) {
    //ポイントの昇順ボタン
    $orderby = "`COL 4`";
  }
  elseif (isset($_POST[btnsort8])) {
    //ポイントの降順ボタン
    $orderby = "`COL 4` DESC";
  }
  else {
    //はじめて呼び出されたときの初期状態
    $orderby = "`COL 1`";
  }

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);
	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
  //テーブルヘッダ部の並べ替え用リンクのHTMLを組み立て
  $body = "<FORM action='$_SERVER[PHP_SELF]' method='POST'>
            <TABLE border='1'>
            <TR>
              <TH>
                順位<BR>
                <INPUT type='submit' name='btnsort1' value='↑'>
                <INPUT type='submit' name='btnsort2' value='↓'>
              </TH>
              <TH>
                チーム<BR>
                <INPUT type='submit' name='btnsort3' value='↑'>
                <INPUT type='submit' name='btnsort4' value='↓'>
              </TH>
              <TH>
                地域<BR>
                <INPUT type='submit' name='btnsort5' value='↑'>
                <INPUT type='submit' name='btnsort6' value='↓'>
              </TH>
              <TH>
                ポイント<BR>
                <INPUT type='submit' name='btnsort7' value='↑'>
                <INPUT type='submit' name='btnsort8' value='↓'>
              </TH>
            </TR>";

  //TABLE 3テーブルのすべてのレコードを読み込むSQLを組み立て
  //$orderby変数の内容をORDER BY句に指定
  $sql = "SELECT * FROM `TABLE 3` ORDER BY $orderby";
  //結果セットを取得
  $rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "</TABLE>
            </FORM>";

  //MySQLとの接続を解除
  mysql_close();
?>

<?=$body?>


ソースコード


ソースコード【 HTML 】

<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

  //クリックされたボタンに応じて並べ替え基準を設定
  if (isset($_POST[btnsort1])) {
    //順位の昇順ボタン
    $orderby = "`COL 1`";
  }
  elseif (isset($_POST[btnsort2])) {
    //順位の降順ボタン
    $orderby = "`COL 1` DESC";
  }
  elseif (isset($_POST[btnsort3])) {
    //チームの昇順ボタン
    $orderby = "COL 2";
  }
  elseif (isset($_POST[btnsort4])) {
    //チームの降順ボタン
    $orderby = "`COL 2` DESC";
  }
  elseif (isset($_POST[btnsort5])) {
    //地域の昇順ボタン
    $orderby = "`COL 3`";
  }
  elseif (isset($_POST[btnsort6])) {
    //地域の降順ボタン
    $orderby = "`COL 3` DESC";
  }
  elseif (isset($_POST[btnsort7])) {
    //ポイントの昇順ボタン
    $orderby = "`COL 4`";
  }
  elseif (isset($_POST[btnsort8])) {
    //ポイントの降順ボタン
    $orderby = "`COL 4` DESC";
  }
  else {
    //はじめて呼び出されたときの初期状態
    $orderby = "`COL 1`";
  }

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);
	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
  //テーブルヘッダ部の並べ替え用リンクのHTMLを組み立て
  $body = "<FORM action='$_SERVER[PHP_SELF]' method='POST'>
            <TABLE border='1'>
            <TR>
              <TH>
                順位<BR>
                <INPUT type='submit' name='btnsort1' value='↑'>
                <INPUT type='submit' name='btnsort2' value='↓'>
              </TH>
              <TH>
                チーム<BR>
                <INPUT type='submit' name='btnsort3' value='↑'>
                <INPUT type='submit' name='btnsort4' value='↓'>
              </TH>
              <TH>
                地域<BR>
                <INPUT type='submit' name='btnsort5' value='↑'>
                <INPUT type='submit' name='btnsort6' value='↓'>
              </TH>
              <TH>
                ポイント<BR>
                <INPUT type='submit' name='btnsort7' value='↑'>
                <INPUT type='submit' name='btnsort8' value='↓'>
              </TH>
            </TR>";

  //TABLE 3テーブルのすべてのレコードを読み込むSQLを組み立て
  //$orderby変数の内容をORDER BY句に指定
  $sql = "SELECT * FROM `TABLE 3` ORDER BY $orderby";
  //結果セットを取得
  $rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "<TR>";
    $body .= "<TD align='center'>" . $col['COL 1'] . "</TD>";
    $body .= "<TD>" . $col['COL 2'] . "</TD>";
    $body .= "<TD>" . $col['COL 3'] . "</TD>";
    $body .= "<TD align='right'>" . $col['COL 4'] . "</TD>";
    $body .= "</TR>";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "</TABLE>
            </FORM>";

  //MySQLとの接続を解除
  mysql_close();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>webサイト開発 | PHPサンプルサイト</title>
<link href="../css/reset.css" rel="stylesheet" type="text/css" media="screen">

<!-- CSS for slidesjs.com example -->
<link rel="stylesheet" href="../css/example.css">
<link rel="stylesheet" href="../css/font-awesome.min.css">
<!-- End CSS for slidesjs.com example -->

<link rel="stylesheet" href="../css/embet.css">
<link href="../css/common.css" rel="stylesheet" type="text/css" media="screen">
<link href="../css/page.css" rel="stylesheet" type="text/css" media="screen">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#list_menu > li > ul').slideUp() });

				$('#list_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#list_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<style type="text/css">
#main_menu > li > ul {
	display: none;
	padding: 10px 10px 5px;
	background: rgba(169, 169, 170, 1.0);
	cursor: pointer!important;
}
</style>
</head>
<body>

<!--▽#container-->
<div id="container">
<header class="clearfix">
		<h1><a href="../index.html"><img src="../images/logo.png" width="75" alt=""></a><span>webサイト開発 | PHPサンプルサイト</span></h1>
		
		<!--▽#menu-->
		<ul id="main_menu">
				<li>
				<a href=""><img src="../images/menu.png"  width="38px" alt=""></a>
				<ul class="menu_home">
						<li><span class="menu_title">HOME</span>
						<li><a href="#top">TOP</a></li>
						</li>
				</ul>
				<ul class="menu_link">
						<li><span class="menu_title">LINK</span>
						<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
						<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
						<li><a href="http://webrynote.jimdo.com/"></a>動画で確認するscript | FlashとJavaScrip</li>
						<li><a href="http://webry.dousetsu.com/"></a>実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</li>
						</li>
				</ul>
				<ul class="menu_sns">
						<li><span class="menu_title">SNS</span>
						<li><a href="https://twitter.com/webrynote">Twitter</a></li>
						<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
						<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</li>
				</ul>
				</li>
		</ul>
</header>
<!--▽.content-->
<div class="content"> 
		
		<!--▽.col1-->
		<section class="col1">
				<h2>データーベースの基礎知識</h2>
		</section>
		<!--▲.col1--> 
		
		<!--▽.content_inner-->
		<div class="content_inner">
				<section class="col2">
						<section id="post01" class="col2-1 post"> <a href="#post01">
								<h2><span class="ita">2-8&nbsp;</span>HTML フォームで動的に並べ順をかえる</h2>
								</a>
								<div class="post_inner">ORDRE BY 句(SQL)
										</p>
										<ul class="list01">
												<li>画面上のボタンをクリックによって、それぞれのフィールドを基準としてデータを動的に並べ替え変更する例。</li>
										</ul>
								</div>
						</section>
						<!--▲.col2-1-->
						
						<section class="col-code">
								<div id="post02" class="post"> <a href="#post02">
										<h2><span>PHPのコードを表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<pre>
<code>
&lt;?php
	$DBSERVER = "*******"; // MySQL サーバ名
	$DBUSER = "*******"; // ログインユーザ名
	$DBPASSWORD = "********"; // パスワード
	$DBNAME = "*********"; // データベース名

  //クリックされたボタンに応じて並べ替え基準を設定
  if (isset($_POST[btnsort1])) {
    //順位の昇順ボタン
    $orderby = "`COL 1`";
  }
  elseif (isset($_POST[btnsort2])) {
    //順位の降順ボタン
    $orderby = "`COL 1` DESC";
  }
  elseif (isset($_POST[btnsort3])) {
    //チームの昇順ボタン
    $orderby = "COL 2";
  }
  elseif (isset($_POST[btnsort4])) {
    //チームの降順ボタン
    $orderby = "`COL 2` DESC";
  }
  elseif (isset($_POST[btnsort5])) {
    //地域の昇順ボタン
    $orderby = "`COL 3`";
  }
  elseif (isset($_POST[btnsort6])) {
    //地域の降順ボタン
    $orderby = "`COL 3` DESC";
  }
  elseif (isset($_POST[btnsort7])) {
    //ポイントの昇順ボタン
    $orderby = "`COL 4`";
  }
  elseif (isset($_POST[btnsort8])) {
    //ポイントの降順ボタン
    $orderby = "`COL 4` DESC";
  }
  else {
    //はじめて呼び出されたときの初期状態
    $orderby = "`COL 1`";
  }

	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit ("MySQL に接続できない");
	}
	// データベースを選択
	mysql_select_db ($DBNAME);
	// MySQL の文字コードを設定
	mysql_query ("set names UTF8");
	
  //テーブルヘッダ部の並べ替え用リンクのHTMLを組み立て
  $body = "&lt;FORM action='$_SERVER[PHP_SELF]' method='POST'&gt;
            &lt;TABLE border='1'&gt;
            &lt;TR&gt;
              &lt;TH&gt;
                順位&lt;BR&gt;
                &lt;INPUT type='submit' name='btnsort1' value='↑'&gt;
                &lt;INPUT type='submit' name='btnsort2' value='↓'&gt;
              &lt;/TH&gt;
              &lt;TH&gt;
                チーム&lt;BR&gt;
                &lt;INPUT type='submit' name='btnsort3' value='↑'&gt;
                &lt;INPUT type='submit' name='btnsort4' value='↓'&gt;
              &lt;/TH&gt;
              &lt;TH&gt;
                地域&lt;BR&gt;
                &lt;INPUT type='submit' name='btnsort5' value='↑'&gt;
                &lt;INPUT type='submit' name='btnsort6' value='↓'&gt;
              &lt;/TH&gt;
              &lt;TH&gt;
                ポイント&lt;BR&gt;
                &lt;INPUT type='submit' name='btnsort7' value='↑'&gt;
                &lt;INPUT type='submit' name='btnsort8' value='↓'&gt;
              &lt;/TH&gt;
            &lt;/TR&gt;";

  //TABLE 3テーブルのすべてのレコードを読み込むSQLを組み立て
  //$orderby変数の内容をORDER BY句に指定
  $sql = "SELECT * FROM `TABLE 3` ORDER BY $orderby";
  //結果セットを取得
  $rst = mysql_query($sql);
  //結果セットからデータをループで読み込み
  while ($col = mysql_fetch_array($rst)) {
    $body .= "&lt;TR&gt;";
    $body .= "&lt;TD align='center'&gt;" . $col['COL 1'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 2'] . "&lt;/TD&gt;";
    $body .= "&lt;TD&gt;" . $col['COL 3'] . "&lt;/TD&gt;";
    $body .= "&lt;TD align='right'&gt;" . $col['COL 4'] . "&lt;/TD&gt;";
    $body .= "&lt;/TR&gt;";
  }
  //結果セットを破棄
  mysql_free_result($rst);
  $body .= "&lt;/TABLE&gt;
            &lt;/FORM&gt;";

  //MySQLとの接続を解除
  mysql_close();
?&gt;

&lt;?php 
&lt;?=$body?&gt;
?&gt;
</code>
</pre>
												</div>
										</div>
								</div>
						</section>
						<section class="col2">
								<div id="post03" class="post"> <a href="#post03">
										<h2><span>PHPでの表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<div class="php wd_wrap">
																<?=$body?>
														</div>
												</div>
										</div>
								</div>
						</section>
						
						<!--<section class="col2">
<div id="post04" class="post">
<a href="#post04"><h2><span>FORMでの入力</span></h2></a>
<div class="post_inner">
<div class="inner">
<div>

</div>
</div>
</div>
</div>
</section>-->
						
						<p class="c_top"><a href="../index.html#13">&nbsp;カテゴリートップへ戻る</a></p>
						<section class="bottom clearfix"> <a href="#">
								<p class="page_top">TOP</p>
								</a>
								<div class="share_box">
										<p><span>このサイトをシェアする</span> <a href="https://twitter.com/share" class="twitter-share-button" data-via="webrynote">Tweet</a> 
												<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script><br>
										<div id="fb-root"></div>
										<script>(function(d, s, id) {
          var js, fjs = d.getElementsByTagName(s)[0];
          if (d.getElementById(id)) return;
          js = d.createElement(s); js.id = id;
          js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";
          fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));</script>
										</p>
								</div>
						</section>
						<!--▲.bottom--> 
				</section>
				<!--▲.content-->
				
				<footer>
						<ul>
								<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
								<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
								<li><a href="http://webrynote.jimdo.com/">動画で確認するscript | FlashとJavaScrip</a></li>
								<li><a href="http://webry.dousetsu.com/">実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</a></li>
								<li><a href="https://twitter.com/webrynote">Twitter</a></li>
								<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
								<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</ul>
						<address>
						Copyright &copy; 2014 webry&nbsp;-&nbsp;『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved.
						</address>
				</footer>
		</div>
		<!--▲.content_inner--> 
</div>
<!--▲#container-->

</body>
</html>


表示内容を確認

HTML フォームで動的に並べ順をかえる




MySQL データベースの処理09




データーベースの基礎知識

レコードを並び替えて取り出す

使用関数: ORDER BY 句 (SQL)

  • 「ORDER BY」句に続いてフィールド名を記述すると、そのフィールドの値を基準に、レコードを並べ替えて読み込める。

    フィールド名だけを記述した場合、そのフィールドに保存されている値の昇順(小さい順)で並べ替えられる。フィールド名に「DESC」を続けると、降順(大きい順)で並べ替えができる。
  • 並べ替えの基準となるフィールド名は、カンマで区切って複数を列挙することも可能。

    ORCER BY 句に指定するフィールドには、MySQL 状上でインデックスをつけておくとパフォーマンスが向上する。


【 書式 】

PHPスクリプト

	<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table border='1' style='max-width: 100%; margin: 30px auto;'>
								<tr>
									<th>順位</th>
									<th>チーム</th>
									<th>地域</th>
									<th>ポイント</th>
								</tr>";
	$TABLEFOOT = "</table>";
	
	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit("MySQL に接続できない!");
	}
	
	// データベース選択
	mysql_select_db ($DBNAME);
	
	// MySQL コードを設定
	mysql_query ("set names UTF8");
	
	// 例1:COL 2の昇順にレコードを読み込むSQLを組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1400 ORDER BY `COL 2`";
	$body .= "【 COL 2 の昇順 】" . $TABLEHEAD;

	// 結果セットを取得
	$rst = mysql_query($sql);

	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td>" . $col['COL 2'] . "</td>";
		$body .= "<td>" . $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}

	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";

	// 例2:COL 1 の降順にレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1400 ORDER BY `COL 1` DESC";
	$body .= "【 COL 1 の降順 】" . $TABLEHEAD;

	// 結果セットを取得
	$rst = mysql_query($sql);

	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td>" . $col['COL 2'] . "</td>";
		$body .= "<td>" . $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";

	// 例3:COL 2, COL 4 の昇順にレコードを読み込むSQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` ORDER BY `COL 2`, `COL 4`";
	$body .= "【 COL 2, COL 4 の降順 】" . $TABLEHEAD;

	// 結果セットを取得
	$rst = mysql_query($sql);

	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td>" . $col['COL 2'] . "</td>";
		$body .= "<td>" . $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";

	// MySQL との接続を解除
	mysql_close();
?>

<?=$body?>


ソースコード


ソースコード【 HTML 】

<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table border='1' style='max-width: 100%; margin: 30px auto;'>
								<tr>
									<th>順位</th>
									<th>チーム</th>
									<th>地域</th>
									<th>ポイント</th>
								</tr>";
	$TABLEFOOT = "</table>";
	
	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit("MySQL に接続できない!");
	}
	
	// データベース選択
	mysql_select_db ($DBNAME);
	
	// MySQL コードを設定
	mysql_query ("set names UTF8");
	
	// 例1:COL 2の昇順にレコードを読み込むSQLを組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1400 ORDER BY `COL 2`";
	$body .= "【 COL 2 の昇順 】" . $TABLEHEAD;

	// 結果セットを取得
	$rst = mysql_query($sql);

	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td>" . $col['COL 2'] . "</td>";
		$body .= "<td>" . $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}

	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";

	// 例2:COL 1 の降順にレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1400 ORDER BY `COL 1` DESC";
	$body .= "【 COL 1 の降順 】" . $TABLEHEAD;

	// 結果セットを取得
	$rst = mysql_query($sql);

	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td>" . $col['COL 2'] . "</td>";
		$body .= "<td>" . $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";

	// 例3:COL 2, COL 4 の昇順にレコードを読み込むSQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` ORDER BY `COL 2`, `COL 4`";
	$body .= "【 COL 2, COL 4 の降順 】" . $TABLEHEAD;

	// 結果セットを取得
	$rst = mysql_query($sql);

	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td>" . $col['COL 2'] . "</td>";
		$body .= "<td>" . $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";

	// MySQL との接続を解除
	mysql_close();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>webサイト開発 | PHPサンプルサイト</title>
<link href="../css/reset.css" rel="stylesheet" type="text/css" media="screen">

<!-- CSS for slidesjs.com example -->
<link rel="stylesheet" href="../css/example.css">
<link rel="stylesheet" href="../css/font-awesome.min.css">
<!-- End CSS for slidesjs.com example -->

<link rel="stylesheet" href="../css/embet.css">
<link href="../css/common.css" rel="stylesheet" type="text/css" media="screen">
<link href="../css/page.css" rel="stylesheet" type="text/css" media="screen">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#list_menu > li > ul').slideUp() });

				$('#list_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#list_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<style type="text/css">
#main_menu > li > ul {
	display: none;
	padding: 10px 10px 5px;
	background: rgba(169, 169, 170, 1.0);
	cursor: pointer!important;
}
</style>
</head>

<body>

<!--▽#container-->
<div id="container">
<header class="clearfix">
		<h1><a href="../index.html"><img src="../images/logo.png" width="75" alt=""></a><span>webサイト開発 | PHPサンプルサイト</span></h1>
		
		<!--▽#menu-->
		
		<ul id="main_menu">
				<li>
				<a href=""><img src="../images/menu.png"  width="38px" alt=""></a>
				<ul class="menu_home">
						<li><span class="menu_title">HOME</span>
						<li><a href="#top">TOP</a></li>
						</li>
				</ul>
				<ul class="menu_link">
						<li><span class="menu_title">LINK</span>
						<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
						<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
						<li><a href="http://webrynote.jimdo.com/"></a>動画で確認するscript | FlashとJavaScrip</li>
						<li><a href="http://webry.dousetsu.com/"></a>実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</li>
						</li>
				</ul>
				<ul class="menu_sns">
						<li><span class="menu_title">SNS</span>
						<li><a href="https://twitter.com/webrynote">Twitter</a></li>
						<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
						<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</li>
				</ul>
				</li>
		</ul>
</header>

<!--▽.content-->
<div class="content"> 
		
		<!--▽.col1-->
		<section class="col1">
				<h2>データーベースの基礎知識</h2>
		</section>
		<!--▲.col1--> 
		
		<!--▽.content_inner-->
		<div class="content_inner">
				<section class="col2">
						<section id="post01" class="col2-1 post"> <a href="#post01">
								<h2><span class="ita">2-7&nbsp;</span>レコードを並び替えて取り出す</h2>
								</a>
								<div class="post_inner">ORDER BY 句 (SQL)
										</p>
										<ul class="list01">
												<li>「ORDER BY」句に続いてフィールド名を記述すると、そのフィールドの値を基準に、レコードを並べ替えて読み込める。<br>
														フィールド名だけを記述した場合、そのフィールドに保存されている値の昇順(小さい順)で並べ替えられる。フィールド名に「DESC」を続けると、降順(大きい順)で並べ替えができる。</li>
												<li>並べ替えの基準となるフィールド名は、カンマで区切って複数を列挙することも可能。<br>
														ORCER BY 句に指定するフィールドには、MySQL 状上でインデックスをつけておくとパフォーマンスが向上する。</li>
										</ul>
								</div>
						</section>
						<!--▲.col2-1-->
						
						<section class="col-code">
								<div id="post02" class="post"> <a href="#post02">
										<h2><span>PHPのコードを表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<pre>
<code>
&lt;?php
	$DBSERVER = "*******"; // MySQL サーバ名
	$DBUSER = "*******"; // ログインユーザ名
	$DBPASSWORD = "********"; // パスワード
	$DBNAME = "*********"; // データベース名

	$TABLEHEAD = "&lt;table border='1' style='max-width: 100%; margin: 30px auto;'&gt;
								&lt;tr&gt;
									&lt;th&gt;順位&lt;/th&gt;
									&lt;th&gt;チーム&lt;/th&gt;
									&lt;th&gt;地域&lt;/th&gt;
									&lt;th&gt;ポイント&lt;/th&gt;
								&lt;/tr&gt;";
	$TABLEFOOT = "&lt;/table&gt;";
	
	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit("MySQL に接続できない!");
	}
	
	// データベース選択
	mysql_select_db ($DBNAME);
	
	// MySQL コードを設定
	mysql_query ("set names UTF8");
	
	// 例1:COL 2の昇順にレコードを読み込むSQLを組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` &gt;= 1400 ORDER BY `COL 2`";
	$body .= "【 COL 2 の昇順 】" . $TABLEHEAD;

	// 結果セットを取得
	$rst = mysql_query($sql);

	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "&lt;tr&gt;";
		$body .= "&lt;td align='center'&gt;" . $col['COL 1'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt;" . $col['COL 2'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt;" . $col['COL 3'] . "&lt;/td&gt;";
		$body .= "&lt;td align='right'&gt;" . $col['COL 4'] . "&lt;/td&gt;";
		$body .= "&lt;/tr&gt;";
	}

	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT&lt;br&gt;";

	// 例2:COL 1 の降順にレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` &gt;= 1400 ORDER BY `COL 1` DESC";
	$body .= "【 COL 1 の降順 】" . $TABLEHEAD;

	// 結果セットを取得
	$rst = mysql_query($sql);

	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "&lt;tr&gt;";
		$body .= "&lt;td align='center'&gt;" . $col['COL 1'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt;" . $col['COL 2'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt;" . $col['COL 3'] . "&lt;/td&gt;";
		$body .= "&lt;td align='right'&gt;" . $col['COL 4'] . "&lt;/td&gt;";
		$body .= "&lt;/tr&gt;";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT&lt;br&gt;";

	// 例3:COL 2, COL 4 の昇順にレコードを読み込むSQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` ORDER BY `COL 2`, `COL 4`";
	$body .= "【 COL 2, COL 4 の降順 】" . $TABLEHEAD;

	// 結果セットを取得
	$rst = mysql_query($sql);

	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "&lt;tr&gt;";
		$body .= "&lt;td align='center'&gt;" . $col['COL 1'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt;" . $col['COL 2'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt;" . $col['COL 3'] . "&lt;/td&gt;";
		$body .= "&lt;td align='right'&gt;" . $col['COL 4'] . "&lt;/td&gt;";
		$body .= "&lt;/tr&gt;";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT&lt;br&gt;";

	// MySQL との接続を解除
	mysql_close();
?&gt;

&lt;?php 
&lt;?=$body?&gt;
?&gt;
</code>
</pre>
												</div>
										</div>
								</div>
						</section>
						<section class="col2">
								<div id="post03" class="post"> <a href="#post03">
										<h2><span>PHPでの表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<div class="php wd_wrap">
																<?=$body?>
														</div>
												</div>
										</div>
								</div>
						</section>
						
						<!--<section class="col2">
<div id="post04" class="post">
<a href="#post04"><h2><span>FORMでの入力</span></h2></a>
<div class="post_inner">
<div class="inner">
<div>

</div>
</div>
</div>
</div>
</section>-->
						
						<p class="c_top"><a href="../index.html#13">&nbsp;カテゴリートップへ戻る</a></p>
						<section class="bottom clearfix"> <a href="#">
								<p class="page_top">TOP</p>
								</a>
								<div class="share_box">
										<p><span>このサイトをシェアする</span> <a href="https://twitter.com/share" class="twitter-share-button" data-via="webrynote">Tweet</a> 
												<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script><br>
										<div id="fb-root"></div>
										<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
										</p>
								</div>
						</section>
						<!--▲.bottom--> 
				</section>
				<!--▲.content-->
				
				<footer>
						<ul>
								<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
								<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
								<li><a href="http://webrynote.jimdo.com/">動画で確認するscript | FlashとJavaScrip</a></li>
								<li><a href="http://webry.dousetsu.com/">実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</a></li>
								<li><a href="https://twitter.com/webrynote">Twitter</a></li>
								<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
								<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</ul>
						<address>
						Copyright &copy; 2014 webry&nbsp;-&nbsp;『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved.
						</address>
				</footer>
		</div>
		<!--▲.content_inner--> 
</div>
<!--▲#container-->

</body>
</html>


表示内容を確認

レコードを並び替えて取り出す




MySQL データベースの処理08




データーベースの基礎知識

SQL でレコード数を取得する

使用関数: Count(*) (SQL)

  • SQL 文の SELECT 文に「 Count(*) 」という定型的な記述(正確にはSQLの集計用関数)を続けると、指定されたテーブルの抽出条件に一致するレコード数が得られる。

    mysql_num_rows 関数は結果セットを取得したあと、それに含まれるレコード数を返すため、ここのデータも取得できる。一方、「 Count(*) 」はあくまでも「レコード数そのものがデータとして返される」だけである。MySQL からは常に1件のレコードだけが返され、そのフィールドデータとしてレコード数が格納されている。同時にここのデータを取り出すことができない。

    なお、取得したいレコード数はフィールドの中に格納されているので、取り出す際は「 $col[reccnt] 」のような配列を記述する。

    このとき、「Count(*)」だけではそのフィールド名がわからないので、通常は「 Count(*) AS reccnt 」


【 書式 】

PHPスクリプト

	<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table border='1' style='max-width: 100%; margin: 30px auto;'>
								<tr>
									<th>順位</th>
									<th>チーム</th>
									<th>地域</th>
									<th>ポイント</th>
								</tr>";
	$TABLEFOOT = "</table>";
	
	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit("MySQL に接続できない!");
	}
	
	// データベース選択
	mysql_select_db ($DBNAME);
	
	// MySQL コードを設定
	mysql_query ("set names UTF8");
	
	// TABLE 3 テーブルの全レコード数を取得する SQL を組み立て
	$sql = "SELECT Count(*) AS reccnt FROM `TABLE 3`";

	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 1レコード目からレコード数を取得
	$col = mysql_fetch_array($rst);
	$body .= "TABLE 3 テーブルにはA" . $col[reccnt] . " 件のデータがある。<br>";
		
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "<br>";

	// COL 3 がヨーロッパでないレコード数を取得する SQL を組み立てる
	$sql = "SELECT Count(*) AS reccnt FROM `TABLE 3` WHERE `COL 3` <> 'ヨーロッパ'";

	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 1レコード目からレコード数を取得
	$col = mysql_fetch_array($rst);
	$body .= "COL 3 がヨーロッパでないデータは" . $col[reccnt] . " 件ある。<br>";
	
	// 結果セットを破棄
	mysql_free_result($rst);

	// MySQL との接続を解除
	mysql_close();
?>

<?=$body?>


ソースコード


ソースコード【 HTML 】

<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table border='1' style='max-width: 100%; margin: 30px auto;'>
								<tr>
									<th>順位</th>
									<th>チーム</th>
									<th>地域</th>
									<th>ポイント</th>
								</tr>";
	$TABLEFOOT = "</table>";
	
	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit("MySQL に接続できない!");
	}
	
	// データベース選択
	mysql_select_db ($DBNAME);
	
	// MySQL コードを設定
	mysql_query ("set names UTF8");
	
	// TABLE 3 テーブルの全レコード数を取得する SQL を組み立て
	$sql = "SELECT Count(*) AS reccnt FROM `TABLE 3`";

	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 1レコード目からレコード数を取得
	$col = mysql_fetch_array($rst);
	$body .= "TABLE 3 テーブルにはA" . $col[reccnt] . " 件のデータがある。<br>";
		
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "<br>";

	// COL 3 がヨーロッパでないレコード数を取得する SQL を組み立てる
	$sql = "SELECT Count(*) AS reccnt FROM `TABLE 3` WHERE `COL 3` <> 'ヨーロッパ'";

	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 1レコード目からレコード数を取得
	$col = mysql_fetch_array($rst);
	$body .= "COL 3 がヨーロッパでないデータは" . $col[reccnt] . " 件ある。<br>";
	
	// 結果セットを破棄
	mysql_free_result($rst);

	// MySQL との接続を解除
	mysql_close();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>webサイト開発 | PHPサンプルサイト</title>
<link href="../css/reset.css" rel="stylesheet" type="text/css" media="screen">

<!-- CSS for slidesjs.com example -->
<link rel="stylesheet" href="../css/example.css">
<link rel="stylesheet" href="../css/font-awesome.min.css">
<!-- End CSS for slidesjs.com example -->

<link rel="stylesheet" href="../css/embet.css">
<link href="../css/common.css" rel="stylesheet" type="text/css" media="screen">
<link href="../css/page.css" rel="stylesheet" type="text/css" media="screen">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#list_menu > li > ul').slideUp() });

				$('#list_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#list_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>
<style type="text/css">
#main_menu > li > ul {
	display: none;
	padding: 10px 10px 5px;
	background: rgba(169, 169, 170, 1.0);
	cursor: pointer!important;
}
</style>
</head>

<body>

<!--▽#container-->
<div id="container">
<header class="clearfix">
		<h1><a href="../index.html"><img src="../images/logo.png" width="75" alt=""></a><span>webサイト開発 | PHPサンプルサイト</span></h1>
		
		<!--▽#menu-->
		
		<ul id="main_menu">
				<li>
				<a href=""><img src="../images/menu.png"  width="38px" alt=""></a>
				<ul class="menu_home">
						<li><span class="menu_title">HOME</span>
						<li><a href="#top">TOP</a></li>
						</li>
				</ul>
				<ul class="menu_link">
						<li><span class="menu_title">LINK</span>
						<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
						<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
						<li><a href="http://webrynote.jimdo.com/"></a>動画で確認するscript | FlashとJavaScrip</li>
						<li><a href="http://webry.dousetsu.com/"></a>実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</li>
						</li>
				</ul>
				<ul class="menu_sns">
						<li><span class="menu_title">SNS</span>
						<li><a href="https://twitter.com/webrynote">Twitter</a></li>
						<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
						<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</li>
				</ul>
				</li>
		</ul>
</header>

<!--▽.content-->
<div class="content"> 
		
		<!--▽.col1-->
		<section class="col1">
				<h2>データーベースの基礎知識</h2>
		</section>
		<!--▲.col1--> 
		
		<!--▽.content_inner-->
		<div class="content_inner">
				<section class="col2">
						<section id="post01" class="col2-1 post"> <a href="#post01">
								<h2><span class="ita">2-6&nbsp;</span>SQL でレコード数を取得する</h2>
								</a>
								<div class="post_inner">Count(*) (SQL)
										</p>
										<ul class="list01">
												<li>SQL 文の SELECT 文に「 Count(*) 」という定型的な記述(正確にはSQLの集計用関数)を続けると、指定されたテーブルの抽出条件に一致するレコード数が得られる。<br>
														mysql_num_rows 関数は結果セットを取得したあと、それに含まれるレコード数を返すため、ここのデータも取得できる。一方、「 Count(*) 」はあくまでも「レコード数そのものがデータとして返される」だけである。MySQL からは常に1件のレコードだけが返され、そのフィールドデータとしてレコード数が格納されている。同時にここのデータを取り出すことができない。<br>
														なお、取得したいレコード数はフィールドの中に格納されているので、取り出す際は「 $col[reccnt] 」のような配列を記述する。<br>
														このとき、「Count(*)」だけではそのフィールド名がわからないので、通常は「 Count(*) AS reccnt 」</li>
										</ul>
								</div>
						</section>
						<!--▲.col2-1-->
						
						<section class="col-code">
								<div id="post02" class="post"> <a href="#post02">
										<h2><span>PHPのコードを表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<pre>
<code>
&lt;?php
	$DBSERVER = "*******"; // MySQL サーバ名
	$DBUSER = "*******"; // ログインユーザ名
	$DBPASSWORD = "********"; // パスワード
	$DBNAME = "*********"; // データベース名

	$TABLEHEAD = "&lt;table border='1' style='max-width: 100%; margin: 30px auto;'&gt;
								&lt;tr&gt;
									&lt;th&gt;順位&lt;/th&gt;
									&lt;th&gt;チーム&lt;/th&gt;
									&lt;th&gt;地域&lt;/th&gt;
									&lt;th&gt;ポイント&lt;/th&gt;
								&lt;/tr&gt;";
	$TABLEFOOT = "&lt;/table&gt;";
	
	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit("MySQL に接続できない!");
	}
	
	// データベース選択
	mysql_select_db ($DBNAME);
	
	// MySQL コードを設定
	mysql_query ("set names UTF8");
	
	// TABLE 3 テーブルの全レコード数を取得する SQL を組み立て
	$sql = "SELECT Count(*) AS reccnt FROM `TABLE 3`";

	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 1レコード目からレコード数を取得
	$col = mysql_fetch_array($rst);
	$body .= "TABLE 3 テーブルにはA" . $col[reccnt] . " 件のデータがある。&lt;br&gt;";
		
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "&lt;br&gt;";

	// COL 3 がヨーロッパでないレコード数を取得する SQL を組み立てる
	$sql = "SELECT Count(*) AS reccnt FROM `TABLE 3` WHERE `COL 3` &lt;&gt; 'ヨーロッパ'";

	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 1レコード目からレコード数を取得
	$col = mysql_fetch_array($rst);
	$body .= "COL 3 がヨーロッパでないデータは" . $col[reccnt] . " 件ある。&lt;br&gt;";
	
	// 結果セットを破棄
	mysql_free_result($rst);

	// MySQL との接続を解除
	mysql_close();
?&gt;

&lt;?php 
&lt;?=$body?&gt;
?&gt;
</code>
</pre>
												</div>
										</div>
								</div>
						</section>
						<section class="col2">
								<div id="post03" class="post"> <a href="#post03">
										<h2><span>PHPでの表示</span></h2>
										</a>
										<div class="post_inner">
												<div class="inner">
														<div class="php wd_wrap">
																<?=$body?>
														</div>
												</div>
										</div>
								</div>
						</section>
						
						<!--<section class="col2">
<div id="post04" class="post">
<a href="#post04"><h2><span>FORMでの入力</span></h2></a>
<div class="post_inner">
<div class="inner">
<div>

</div>
</div>
</div>
</div>
</section>-->
						
						<p class="c_top"><a href="../index.html#13">&nbsp;カテゴリートップへ戻る</a></p>
						<section class="bottom clearfix"> <a href="#">
								<p class="page_top">TOP</p>
								</a>
								<div class="share_box">
										<p><span>このサイトをシェアする</span> <a href="https://twitter.com/share" class="twitter-share-button" data-via="webrynote">Tweet</a> 
												<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script><br>
										<div id="fb-root"></div>
										<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
										</p>
								</div>
						</section>
						<!--▲.bottom--> 
				</section>
				<!--▲.content-->
				
				<footer>
						<ul>
								<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
								<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
								<li><a href="http://webrynote.jimdo.com/">動画で確認するscript | FlashとJavaScrip</a></li>
								<li><a href="http://webry.dousetsu.com/">実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</a></li>
								<li><a href="https://twitter.com/webrynote">Twitter</a></li>
								<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
								<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
						</ul>
						<address>
						Copyright &copy; 2014 webry&nbsp;-&nbsp;『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved.
						</address>
				</footer>
		</div>
		<!--▲.content_inner--> 
</div>
<!--▲#container-->

</body>
</html>


表示内容を確認

SQL でレコード数を取得する




MySQL データベースの処理07




データーベースの基礎知識

読み込んだレコード数を調べる

使用関数: mysql_num_rows 関数

  • SELECT 文によって返された結果セットに含まれるレコード数を取得できる。

    この関数の引数には、mysql_query 関数の返り値である結果セットIDを指定する。

    SELECT 文で抽出分を指定しない場合はテーブルの全レコード数、抽出条件を指定した場合はそれで抽出されたレコードを調べることができる。


【 書式 】

PHPスクリプト

	<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table border='1' style='max-width: 100%; margin: 30px auto;'>
								<tr>
									<th>順位</th>
									<th>チーム</th>
									<th>地域</th>
									<th>ポイント</th>
								</tr>";
	$TABLEFOOT = "</table>";
	
	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit("MySQL に接続できない!");
	}
	
	// データベース選択
	mysql_select_db ($DBNAME);
	
	// MySQL コードを設定
	mysql_query ("set names UTF8");
	
	// COL 4 が1500以上のレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1500";
	$body .= "【 COL 4 が 1500 以上データ 】<br>";
	
	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 結果セットに含まれるレコード数を取得
	$body .= mysql_num_rows($rst) . " 件のデータがある。<br>";
	$body .= $TABLEHEAD;
	
	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td> " . $col['COL 2'] . "</td>";
		$body .= "<td>" .  $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";
	
	// COL 2 がヨーロッパでないレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 3` <> 'ヨーロッパ'";
	$body .= "【 COL 3 がヨーロッパでないデータ 】<br>";
	
	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 結果セットに含まれるレコード数を取得
	$body .= mysql_num_rows($rst) . " 件のデータがある。<br>";
	$body .= $TABLEHEAD;
	
	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td> " . $col['COL 2'] . "</td>";
		$body .= "<td>" .  $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";

	// MySQL との接続を解除
	mysql_close();
?>

<?=$body?>


ソースコード


ソースコード【 HTML 】

	<?php
	$DBSERVER = "localhost"; // MySQL サーバ名
	$DBUSER = "*****"; // ログインユーザ名
	$DBPASSWORD = "*****"; // パスワード
	$DBNAME = "*****"; // データベース名

	$TABLEHEAD = "<table border='1' style='max-width: 100%; margin: 30px auto;'>
								<tr>
									<th>順位</th>
									<th>チーム</th>
									<th>地域</th>
									<th>ポイント</th>
								</tr>";
	$TABLEFOOT = "</table>";
	
	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit("MySQL に接続できない!");
	}
	
	// データベース選択
	mysql_select_db ($DBNAME);
	
	// MySQL コードを設定
	mysql_query ("set names UTF8");
	
	// COL 4 が1500以上のレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1500";
	$body .= "【 COL 4 が 1500 以上データ 】<br>";
	
	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 結果セットに含まれるレコード数を取得
	$body .= mysql_num_rows($rst) . " 件のデータがある。<br>";
	$body .= $TABLEHEAD;
	
	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td> " . $col['COL 2'] . "</td>";
		$body .= "<td>" .  $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";
	
	// COL 2 がヨーロッパでないレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 3` <> 'ヨーロッパ'";
	$body .= "【 COL 3 がヨーロッパでないデータ 】<br>";
	
	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 結果セットに含まれるレコード数を取得
	$body .= mysql_num_rows($rst) . " 件のデータがある。<br>";
	$body .= $TABLEHEAD;
	
	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "<tr>";
		$body .= "<td align='center'>" . $col['COL 1'] . "</td>";
		$body .= "<td> " . $col['COL 2'] . "</td>";
		$body .= "<td>" .  $col['COL 3'] . "</td>";
		$body .= "<td align='right'>" . $col['COL 4'] . "</td>";
		$body .= "</tr>";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT<br>";

	// MySQL との接続を解除
	mysql_close();
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="description" content="">
<meta name="keywords" content="">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
<title>webサイト開発 | PHPサンプルサイト</title>
<link href="../css/reset.css" rel="stylesheet" type="text/css" media="screen">

  <!-- CSS for slidesjs.com example -->
  <link rel="stylesheet" href="../css/example.css">
  <link rel="stylesheet" href="../css/font-awesome.min.css">
  <!-- End CSS for slidesjs.com example -->

	<link rel="stylesheet" href="../css/embet.css">

<link href="../css/common.css" rel="stylesheet" type="text/css" media="screen">
<link href="../css/page.css" rel="stylesheet" type="text/css" media="screen">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
		<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>

		<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#main_menu > li > ul').slideUp() });

				$('#main_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#main_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>

		<script type="text/javascript">
			jQuery(document).ready(function($) {
				//******************************************
				//クリックによる開閉
				//******************************************
				//基本的に、ページ内のどこをクリックしても全てのサブメニューを閉じるようにしておく。
				$(document).click(function() { $('#list_menu > li > ul').slideUp() });

				$('#list_menu > li').click(function(ev){
					var sub = $(this).children('ul');
					if ($(sub).is(':hidden')) {
						//今回は、これからサブメニューを開きたい項目をクリックしているので、
						//上記の、全てのサブメニューを閉じるイベントを発火させてはならない。
						//よって、イベントのバブリングを中止する。
						ev.stopPropagation();

						//他に開いているサブメニューを閉じる。
						//開いたままでもよければ、下の1行は必要ない。
						$('#list_menu > li > ul:visible').slideUp();
					
						$(sub).slideDown();
					}
				});

				//クリックによる開閉の場合、親メニューの"a"要素の機能は必要ないので無効にする。
				$('#main_menu > li > a').click(function(ev) { ev.preventDefault() });
				
			});
		</script>


		<style type="text/css">
			#main_menu > li > ul {
				display:none;
				padding: 10px 10px 5px;
				background: rgba(169, 169, 170, 1.0);
				cursor: pointer!important;
			}
		</style>
	</head>
	
<body>

<!--▽#container-->
<div id="container">
<header class="clearfix">
<h1><a href="../index.html"><img src="../images/logo.png" width="75" alt=""></a><span>webサイト開発 | PHPサンプルサイト</span></h1>

<!--▽#menu-->


<ul id="main_menu">
<li><a href=""><img src="../images/menu.png"  width="38px" alt=""></a>

<ul class="menu_home">
<li><span class="menu_title">HOME</span>
<li><a href="#top">TOP</a></li>
</li></ul>

<ul class="menu_link">
<li><span class="menu_title">LINK</span>
<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
<li><a href="http://webrynote.jimdo.com/"></a>動画で確認するscript | FlashとJavaScrip</li>
<li><a href="http://webry.dousetsu.com/"></a>実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</li>
</li></ul>

<ul class="menu_sns">
<li><span class="menu_title">SNS</span>
<li><a href="https://twitter.com/webrynote">Twitter</a></li>
<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
</li></ul>

</li>
</ul>
</header>

<!--▽.content-->
<div class="content">

<!--▽.col1-->
<section class="col1">
<h2>データーベースの基礎知識</h2>
</section><!--▲.col1-->

<!--▽.content_inner-->
<div class="content_inner">

<section class="col2">
<section id="post01" class="col2-1 post">
<a href="#post01"><h2><span class="ita">2-5&nbsp;</span>読み込んだレコード数を調べる</h2></a>
<div class="post_inner">mysql_num_rows 関数</p>
<ul class="list01">
	<li>SELECT 文によって返された結果セットに含まれるレコード数を取得できる。<br>
    この関数の引数には、mysql_query 関数の返り値である結果セットIDを指定する。<br>
    SELECT 文で抽出分を指定しない場合はテーブルの全レコード数、抽出条件を指定した場合はそれで抽出されたレコードを調べることができる。</li>
  </ul>
</div>
</section><!--▲.col2-1-->

<section class="col-code">
<div id="post02" class="post">
<a href="#post02"><h2><span>PHPのコードを表示</span></h2></a>
<div class="post_inner">
<div class="inner">

<pre>
<code>
&lt;?php
	$DBSERVER = "*******"; // MySQL サーバ名
	$DBUSER = "*******"; // ログインユーザ名
	$DBPASSWORD = "********"; // パスワード
	$DBNAME = "*********"; // データベース名

	$TABLEHEAD = "&lt;table border='1' style='max-width: 100%; margin: 30px auto;'&gt;
								&lt;tr&gt;
									&lt;th&gt;順位&lt;/th&gt;
									&lt;th&gt;チーム&lt;/th&gt;
									&lt;th&gt;地域&lt;/th&gt;
									&lt;th&gt;ポイント&lt;/th&gt;
								&lt;/tr&gt;";
	$TABLEFOOT = "&lt;/table&gt;";
	
	// MySQL に接続
	if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) {
		exit("MySQL に接続できない!");
	}
	
	// データベース選択
	mysql_select_db ($DBNAME);
	
	// MySQL コードを設定
	mysql_query ("set names UTF8");
	
	// COL 4 が1500以上のレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` &gt;= 1500";
	$body .= "【 COL 4 が 1500 以上データ 】&lt;br&gt;";
	
	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 結果セットに含まれるレコード数を取得
	$body .= mysql_num_rows($rst) . " 件のデータがある。&lt;br&gt;";
	$body .= $TABLEHEAD;
	
	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "&lt;tr&gt;";
		$body .= "&lt;td align='center'&gt;" . $col['COL 1'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt; " . $col['COL 2'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt;" .  $col['COL 3'] . "&lt;/td&gt;";
		$body .= "&lt;td align='right'&gt;" . $col['COL 4'] . "&lt;/td&gt;";
		$body .= "&lt;/tr&gt;";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT&lt;br&gt;";
	
	// COL 2 がヨーロッパでないレコードを読み込む SQL を組み立てる
	$sql = "SELECT * FROM `TABLE 3` WHERE `COL 3` &lt;&gt; 'ヨーロッパ'";
	$body .= "【 COL 3 がヨーロッパでないデータ 】&lt;br&gt;";
	
	// 結果セットを取得
	$rst = mysql_query($sql);
	
	// 結果セットに含まれるレコード数を取得
	$body .= mysql_num_rows($rst) . " 件のデータがある。&lt;br&gt;";
	$body .= $TABLEHEAD;
	
	// 結果セットからデータをループで読み込む
	while ($col = mysql_fetch_array($rst)) {
		$body .= "&lt;tr&gt;";
		$body .= "&lt;td align='center'&gt;" . $col['COL 1'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt; " . $col['COL 2'] . "&lt;/td&gt;";
		$body .= "&lt;td&gt;" .  $col['COL 3'] . "&lt;/td&gt;";
		$body .= "&lt;td align='right'&gt;" . $col['COL 4'] . "&lt;/td&gt;";
		$body .= "&lt;/tr&gt;";
	}
	
	// 結果セットを破棄
	mysql_free_result($rst);
	$body .= "$TABLEFOOT&lt;br&gt;";

	// MySQL との接続を解除
	mysql_close();
?&gt;

&lt;?php 
&lt;?=$body?&gt;
?&gt;
</code>
</pre>

</div>
</div>
</div>
</section>

<section class="col2">
<div id="post03" class="post">
<a href="#post03"><h2><span>PHPでの表示</span></h2></a>
<div class="post_inner">
<div class="inner">
<div class="php wd_wrap">
<?=$body?>
</div>
</div>
</div>
</div>
</section>

<!--<section class="col2">
<div id="post04" class="post">
<a href="#post04"><h2><span>FORMでの入力</span></h2></a>
<div class="post_inner">
<div class="inner">
<div>

</div>
</div>
</div>
</div>
</section>-->


<p class="c_top"><a href="../index.html#13">&nbsp;カテゴリートップへ戻る</a></p>

<section class="bottom clearfix">
<a href="#"><p class="page_top">TOP</p></a>
<div class="share_box">
<p><span>このサイトをシェアする</span>
<a href="https://twitter.com/share" class="twitter-share-button" data-via="webrynote">Tweet</a>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script><br>
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/ja_JP/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script></p>
</div>
</section><!--▲.bottom-->
</section><!--▲.content-->

<footer>
<ul>
<li><a href="http://d.hatena.ne.jp/webry/">実践するWEBサイト制作 | webnote</a></li>
<li><a href="http://webry.dousetsu.com/images_deta/">はてなデーターの保管庫 | webrynote</a></li>
<li><a href="http://webrynote.jimdo.com/">動画で確認するscript | FlashとJavaScrip</a></li>
<li><a href="http://webry.dousetsu.com/">実践でカフェオレを俺流においしく作るサイト | カフェ俺流に作る</a></li>
<li><a href="https://twitter.com/webrynote">Twitter</a></li>
<li><a href="https://www.facebook.com/note.webry">Facebook.</a></li>
<li><a href="http://webry.tumblr.com/">Tumblr</a></li>
</ul>


<address>Copyright &copy; 2014 webry&nbsp;-&nbsp;『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved.</address>
</footer>
</div><!--▲.content_inner-->
</div><!--▲#container-->


</body>

</html>


表示内容を確認

読み込んだレコード数を調べる