MySQL データベースの処理06
条件を指定してデーターを取り出す
条件にあったフィールドのみを取り出す
使用関数: SELECT文 (SQL)
- フィールド名をカンマ区切りで列挙すると、そのフィールドのデータだけを取り出せる。
【 書式 】
<?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 が1400以上の COL 2 と COL 4 のみを読み込むSQL を組み立てる $sql = "SELECT `COL 2`, `COL 4` FROM `TABLE 3` WHERE `COL 4` >= 1400"; $body .= "【 COL 2 が 1400 以上のCOL 2 とCOL 4 のデータ 】" . $TABLEHEAD; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットからデータをループで読み込む while ($col = mysql_fetch_array($rst)) { $body .= "<tr>"; $body .= "<td>-</td>"; $body .= "<td> " . $col['COL 2'] . "</td>"; $body .= "<td>-</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "</tr>"; } // 結果セットを破棄 mysql_free_result($rst); $body .= "$TABLEFOOT<br>"; // COL 4 が1400以上の COL 1, COL 2, COL 4 の読み込む SQL の組み立て $sql = "SELECT `COL 1`, `COL 2`, `COL 4` FROM `TABLE 3` WHERE `COL 4` >= 1400"; $body .= "【 COL 4 が1400以上の COL 1, COL 2, COL 3 のデータ 】" . $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>-</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 が1400以上の COL 2 と COL 4 のみを読み込むSQL を組み立てる $sql = "SELECT `COL 2`, `COL 4` FROM `TABLE 3` WHERE `COL 4` >= 1400"; $body .= "【 COL 2 が 1400 以上のCOL 2 とCOL 4 のデータ 】" . $TABLEHEAD; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットからデータをループで読み込む while ($col = mysql_fetch_array($rst)) { $body .= "<tr>"; $body .= "<td>-</td>"; $body .= "<td> " . $col['COL 2'] . "</td>"; $body .= "<td>-</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "</tr>"; } // 結果セットを破棄 mysql_free_result($rst); $body .= "$TABLEFOOT<br>"; // COL 4 が1400以上の COL 1, COL 2, COL 4 の読み込む SQL の組み立て $sql = "SELECT `COL 1`, `COL 2`, `COL 4` FROM `TABLE 3` WHERE `COL 4` >= 1400"; $body .= "【 COL 4 が1400以上の COL 1, COL 2, COL 3 のデータ 】" . $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>-</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-4 </span>条件にあったフィールドのみを取り出す</h2> </a> <div class="post_inner">SELECT文 (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> <?php $DBSERVER = "*******"; // 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 が1400以上の COL 2 と COL 4 のみを読み込むSQL を組み立てる $sql = "SELECT `COL 2`, `COL 4` FROM `TABLE 3` WHERE `COL 4` >= 1400"; $body .= "【 COL 2 が 1400 以上のCOL 2 とCOL 4 のデータ 】" . $TABLEHEAD; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットからデータをループで読み込む while ($col = mysql_fetch_array($rst)) { $body .= "<tr>"; $body .= "<td>-</td>"; $body .= "<td> " . $col['COL 2'] . "</td>"; $body .= "<td>-</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "</tr>"; } // 結果セットを破棄 mysql_free_result($rst); $body .= "$TABLEFOOT<br>"; // COL 4 が1400以上の COL 1, COL 2, COL 4 の読み込む SQL の組み立て $sql = "SELECT `COL 1`, `COL 2`, `COL 4` FROM `TABLE 3` WHERE `COL 4` >= 1400"; $body .= "【 COL 4 が1400以上の COL 1, COL 2, COL 3 のデータ 】" . $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>-</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "</tr>"; } // 結果セットを破棄 mysql_free_result($rst); $body .= "$TABLEFOOT<br>"; // MySQL との接続を解除 mysql_close(); ?> <?php <?=$body?> ?> </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">▲ カテゴリートップへ戻る</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 © 2014 webry - 『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved. </address> </footer> </div> <!--▲.content_inner--> </div> <!--▲#container--> </body> </html>
表示内容を確認
MySQL データベースの処理05
条件を指定してデーターを取り出す
あいまいな条件にあったレコードのみを取り出す
使用関数: HERE句 (SQL) LINK演算子 (SQL)
- あいまいな表現による文字抽出ができる。
LINK演算子は以下のように記述。
WHERE フィールド名 LINK '条件式'
設定する条件式 | 抽出できる文字列 |
---|---|
文字列% | 指定文字列で始まる(後続はどのような文字列でもよい) |
%文字列% | 指定文字列を含む(前後はどのような文字列でもよい) |
%文字列 | 指定文字列で終わる(先頭はどのような文字列でもよい) |
- 「 文字列% 」がもっとも高速に処理される。
・・・・WHERE point BETWEEN 1000 AND 1300
【 書式 】
<?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 2 がアで始まるレコードを読み込む SQL を組み立て $sql = "SELECT * FROM `TABLE 3` WHERE `COL 2` LIKE 'ア%'"; $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>"; // COL 2 にランを含むレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 2` LIKE '%ラン%'"; $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"; // COL 2 が愛で終わるレコードを読み込む SQL を組み立て $sql = "SELECT * FROM `TABLE 3` WHERE `COL 2` LIKE '%アイ'"; $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>"; // 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 2 がアで始まるレコードを読み込む SQL を組み立て $sql = "SELECT * FROM `TABLE 3` WHERE `COL 2` LIKE 'ア%'"; $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>"; // COL 2 にランを含むレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 2` LIKE '%ラン%'"; $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"; // COL 2 が愛で終わるレコードを読み込む SQL を組み立て $sql = "SELECT * FROM `TABLE 3` WHERE `COL 2` LIKE '%アイ'"; $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>"; // 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-3 </span>あいまいな条件にあったレコードのみを取り出す</h2> </a> <div class="post_inner">WHERE句 (SQL) LINK演算子 (SQL) </p> <ul class="list01"> <li>あいまいな表現による文字抽出ができる。<br> LINK演算子は以下のように記述。<br> <span class="b">WHERE フィールド名 LINK '条件式'</span></li> </ul> <table border="1" style="max-width: 100%;"> <tr> <th>設定する条件式</th> <th>抽出できる文字列</th> </tr> <tr> <td>文字列%</td> <td>指定文字列で始まる(後続はどのような文字列でもよい)</td> </tr> <tr> <td>%文字列%</td> <td>指定文字列を含む(前後はどのような文字列でもよい)</td> </tr> <tr> <th>%文字列</th> <td>指定文字列で終わる(先頭はどのような文字列でもよい)</td> </tr> </table> <ul> <li>「 文字列% 」がもっとも高速に処理される。<br> <span class="b">・・・・WHERE point BETWEEN 1000 AND 1300</span></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> <?php $DBSERVER = "*******"; // 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 2 がアで始まるレコードを読み込む SQL を組み立て $sql = "SELECT * FROM `TABLE 3` WHERE `COL 2` LIKE 'ア%'"; $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>"; // COL 2 にランを含むレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 2` LIKE '%ラン%'"; $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"; // COL 2 が愛で終わるレコードを読み込む SQL を組み立て $sql = "SELECT * FROM `TABLE 3` WHERE `COL 2` LIKE '%アイ'"; $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>"; // MySQL との接続を解除 mysql_close(); ?> <?php <?=$body?> ?> </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">▲ カテゴリートップへ戻る</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 © 2014 webry - 『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved. </address> </footer> </div> <!--▲.content_inner--> </div> <!--▲#container--> </body> </html>
表示内容を確認
MySQL データベースの処理04
条件を指定してデーターを取り出す
複数の条件に合ったレコードのみを取り出す
- 複数の抽出条件を指定できる。
WHERE句で使える論理演算子は以下の参照。
論理演算子 | 機能 |
---|---|
AND または && | 条件が両方とも成り立つデータだけを抽出(AかつB) |
OR または || | 条件式のいずれか一方だけが成り立つデータを抽出(AまたはB) |
- ○○〜○○という値の範囲を条件とする場合には「 BETWEEN〜AND〜 」演算子を使い次のように記述できる。
・・・・WHERE point BETWEEN 1000 AND 1300
【 書式 】
<?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 4 が1000〜1300のレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1000 AND `COL 4` <= 1300"; $body .= "【 COL 4 が1000〜1300のデータ 】" . $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 4 が1500以上または1000未満で COL 3 が南米のレコードを読み込む SQL を組み立てる。 $sql = "SELECT * FROM `TABLE 3` WHERE (`COL 4` >= 1500 OR `COL 4` < 1000) AND `COL 3` = '南米'"; $body .= "【 COL 4 が1500以上または1000未満でCOL 3 が南米のデータ 】" . $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"; // 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 4 が1000〜1300のレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1000 AND `COL 4` <= 1300"; $body .= "【 COL 4 が1000〜1300のデータ 】" . $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 4 が1500以上または1000未満で COL 3 が南米のレコードを読み込む SQL を組み立てる。 $sql = "SELECT * FROM `TABLE 3` WHERE (`COL 4` >= 1500 OR `COL 4` < 1000) AND `COL 3` = '南米'"; $body .= "【 COL 4 が1500以上または1000未満でCOL 3 が南米のデータ 】" . $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"; // 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-2 </span>複数の条件に合ったレコードのみを取り出す</h2> </a> <div class="post_inner"> <p class="p_point"><span class="point">point </span>WHERE句(SQL)論理演算子</p> <ul class="list01"> <li>複数の抽出条件を指定できる。<br> WHERE句で使える論理演算子は以下の参照。</li> </ul> <table border="1" style="max-width: 100%;"> <tr> <th>論理演算子</th> <th>機能</th> </tr> <tr> <td>AND または &&</td> <td>条件が両方とも成り立つデータだけを抽出(AかつB)</td> </tr> <tr> <td>OR または ||</td> <td>条件式のいずれか一方だけが成り立つデータを抽出(AまたはB)</td> </tr> </table> <ul> <li>○○〜○○という値の範囲を条件とする場合には「 BETWEEN〜AND〜 」演算子を使い次のように記述できる。<br> <span class="b">・・・・WHERE point BETWEEN 1000 AND 1300</span></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> <?php $DBSERVER = "*******"; // 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 4 が1000〜1300のレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1000 AND `COL 4` <= 1300"; $body .= "【 COL 4 が1000〜1300のデータ 】" . $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 4 が1500以上または1000未満で COL 3 が南米のレコードを読み込む SQL を組み立てる。 $sql = "SELECT * FROM `TABLE 3` WHERE (`COL 4` >= 1500 OR `COL 4` < 1000) AND `COL 3` = '南米'"; $body .= "【 COL 4 が1500以上または1000未満でCOL 3 が南米のデータ 】" . $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"; // MySQL との接続を解除 mysql_close(); ?> <?php <?=$body?> ?> </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">▲ カテゴリートップへ戻る</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 © 2014 webry - 『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved. </address> </footer> </div> <!--▲.content_inner--> </div> <!--▲#container--> </body> </html>
表示内容を確認
MySQL データベースの処理
データーベースの基礎知識
データベースを開く
使用関数: mysql_connect 関数 mysql_select_db 関数 mysql_close 関数
- ①mysql_connect 関数を使って MySQL に接続する
mysql_connect 関数の引数には「MySQLサーバー名」「ログインユーザー名」「ログインユーザーのパスワード」をその順番で指定する。ローカルパソコンにセットアップされた MySQL で試行する場合には、MySQL サーバー名は「localhost」とする。
php.ini ファイルの「 MySQL 」 セッションにある「 mysql.default_host 」「 mysql.default_user 」「 myaql.default_password 」の項目を設定すると、デフォルトのサーバー名やログインユーザを設定することができる。
接続するMySQL のサービスは1つであることがほとんどなので、指定は省略できる。
(例)「データベースを選択」のところに「mysql_select_db($DBNAME);」とあるが、正確には「 mysql_select_db($DBNAME, $con); 」と書く。 - ②処理対象のデータベースを管理できる。例「 顧客情報 」のデータベース、「 給与情報 」のデータベースなど、お互い関連性のないデータを1つの MySQL で管理できる。このため、これからその中のどのデータベースを使うか指定が必要。
- ③mysql_query 関数で MySQL の文字コードを設定する
PHP や MySQL の文字コード設定によっては不要な処理だが、保存形式をEUCを使っている場合、MySQL に全角文字を含む SQL を発行したり、MySQL から全角文字を読み込んだりする際の文字化けを防ぐため、「 set names ujis 」という SQL 文を発行する。( Shift-JIS 形式が主体の環境では「set names suis」となる。 ) - ④PHP 関数でデータベースに対する処理を実行する
MySQL 操作用の PHP 関数を利用して、データを表示する、条件に応じてデータを並べ替える、データに変更を加える、不要なデータを削除する・・・・など、さまざまな処理を行う。 - ⑤mysql_close 関数で MySQL としての接続を解除する
すべての処理が完了したら、mysql_close 関数で MySQL との接続を削除する。この関数の変数には MySQL 接続IDを指定しているが、省略も可能。その場合、最後にオープンされた接続が解除になる。
【 書式 】
<?php $DBSERVER = "localhost"; // MySQL サーバ名 $DBUSER = "*****"; // ログインユーザ名 $DBPASSWORD = "*****"; // パスワード $DBNAME = "*****"; // データベース名 ?> <?php // MySQL に接続 $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); if ($con) { print "MySQL に接続した。<br>"; } else { print "MySQL に接続できない。<br>"; } // データベース選択 $selectdb = mysql_select_db($DBNAME); if ($selectdb) { print "$DBNAME データベースを選択した。<br>"; } else { print "$DBNAME データベースを選択できない。<br>"; } // MySQL の文字コードを設定 mysql_query("set names ujis"); /* ここでデーターベースに対するさまざまな処理を実行*/ // MySQL とその接続を解除 $con = mysql_close(); if ($con) { print "MySQL との接続を解除した。<br>"; } else { print "MySQL との接続を解除できない。<br>";} ?>
ソースコード
ソースコード【 HTML 】
<?php $DBSERVER = "localhost"; // MySQL サーバ名 $DBUSER = "*****"; // ログインユーザ名 $DBPASSWORD = "*****"; // パスワード $DBNAME = "*****"; // データベース名 ?> <!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">1-1 </span>データベースを開く</h2> </a> <div class="post_inner"> <p class="p_point"><span class="point">point </span>mysql_connect 関数 mysql_select_db 関数 mysql_close 関数</p> <ul class="list01"> <li>①mysql_connect 関数を使って MySQL に接続する<br> mysql_connect 関数の引数には「MySQLサーバー名」「ログインユーザー名」「ログインユーザーのパスワード」をその順番で指定する。ローカルパソコンにセットアップされた MySQL で試行する場合には、MySQL サーバー名は「localhost」とする。<br> php.ini ファイルの「 MySQL 」 セッションにある「 mysql.default_host 」「 mysql.default_user 」「 myaql.default_password 」の項目を設定すると、デフォルトのサーバー名やログインユーザを設定することができる。<br> 接続するMySQL のサービスは1つであることがほとんどなので、指定は省略できる。<br> (例)「データベースを選択」のところに「mysql_select_db($DBNAME);」とあるが、正確には「 mysql_select_db($DBNAME, $con); 」と書く。</li> <li>②処理対象のデータベースを管理できる。例「 顧客情報 」のデータベース、「 給与情報 」のデータベースなど、お互い関連性のないデータを1つの MySQL で管理できる。このため、これからその中のどのデータベースを使うか指定が必要。</li> <li>③mysql_query 関数で MySQL の文字コードを設定する<br> PHP や MySQL の文字コード設定によっては不要な処理だが、保存形式をEUCを使っている場合、MySQL に全角文字を含む SQL を発行したり、MySQL から全角文字を読み込んだりする際の文字化けを防ぐため、「 set names ujis 」という SQL 文を発行する。( Shift-JIS 形式が主体の環境では「set names suis」となる。 )</li> <li>④PHP 関数でデータベースに対する処理を実行する<br> MySQL 操作用の PHP 関数を利用して、データを表示する、条件に応じてデータを並べ替える、データに変更を加える、不要なデータを削除する・・・・など、さまざまな処理を行う。</li> <li>⑤mysql_close 関数で MySQL としての接続を解除する すべての処理が完了したら、mysql_close 関数で MySQL との接続を削除する。この関数の変数には MySQL 接続IDを指定しているが、省略も可能。その場合、最後にオープンされた接続が解除になる。</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> <?php $DBSERVER = "*******"; // MySQL サーバ名 $DBUSER = "*******"; // ログインユーザ名 $DBPASSWORD = "********"; // パスワード $DBNAME = "*********"; // データベース名 ?> <?php // MySQL に接続 $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); if ($con) { print "MySQL に接続した。<br>"; } else { print "MySQL に接続できない。<br>"; } // データベース選択 $selectdb = mysql_select_db($DBNAME); if ($selectdb) { print "$DBNAME データベースを選択した。<br>"; } else { print "$DBNAME データベースを選択できない。<br>"; } // MySQL の文字コードを設定 mysql_query("set names ujis"); /* ここでデーターベースに対するさまざまな処理を実行*/ // MySQL とその接続を解除 $con = mysql_close(); if ($con) { print "MySQL との接続を解除した。<br>"; } else { print "MySQL との接続を解除できない。<br>";} ?> </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"> <?php // MySQL に接続 $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); if ($con) { print "MySQL に接続した。<br>"; } else { print "MySQL に接続できない。<br>"; } // データベース選択 $selectdb = mysql_select_db($DBNAME); if ($selectdb) { print "$DBNAME データベースを選択した。<br>"; } else { print "$DBNAME データベースを選択できない。<br>"; } // MySQL の文字コードを設定 mysql_query("set names ujis"); /* ここでデーターベースに対するさまざまな処理を実行*/ // MySQL とその接続を解除 $con = mysql_close(); if ($con) { print "MySQL との接続を解除した。<br>"; } else { print "MySQL との接続を解除できない。<br>";} ?> </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">▲ カテゴリートップへ戻る</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 © 2014 webry - 『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved. </address> </footer> </div> <!--▲.content_inner--> </div> <!--▲#container--> </body> </html>
表示内容を確認
MySQL データベースの処理03
条件を指定してデーターを取り出す
条件を指定してデーターを取り出す
使用関数: WHERE 句(SQL)
- SQL 文で「 WHERE 」句を使って抽出条件を指定する。WHRER 句は以下のように記述。
関係演算子 | 意味 |
---|---|
= | 等しい |
> | より大きい |
< | より小さい |
>= | 以上 |
<= | 以下 |
!= または < > | 等しくない |
is null | 空(NULL) |
! または not | 偽(False) |
- 比較する値については、テーブルに保存されているデータ形式が数値などの場合には、その数値を直接記述。テキストの場合にはその前後を「 " 」,「 ' 」で囲む。
例)「WHERE area='東北'」 または 「WHERE area=\"東北\"」を記述する。
【 書式 】
<?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"); // point が 1500 以上のレコードを読み込む SQL を組み立て $sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1500"; $body .= "【 COL 4'が 1500 以上のデータ 】" . $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>"; // point が 820 未満のレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 4`< 820"; $body .= "【 point が 820 未満のデータ 】" . $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"; // area が北中米であれうレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 3` = '北中米'"; $body .= "【 COL 3 が北中米であるデータ 】" . $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>"; // area がヨーロッパでないレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 3` <> 'ヨーロッパ'"; $body .= "【 COL 3 がヨーロッパでないデータ 】" . $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"; // 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"); // point が 1500 以上のレコードを読み込む SQL を組み立て $sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1500"; $body .= "【 COL 4'が 1500 以上のデータ 】" . $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>"; // point が 820 未満のレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 4`< 820"; $body .= "【 point が 820 未満のデータ 】" . $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"; // area が北中米であれうレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 3` = '北中米'"; $body .= "【 COL 3 が北中米であるデータ 】" . $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>"; // area がヨーロッパでないレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 3` <> 'ヨーロッパ'"; $body .= "【 COL 3 がヨーロッパでないデータ 】" . $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"; // 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-1 </span>条件を指定してデーターを取り出す</h2> </a> <div class="post_inner"> <p class="p_point"><span class="point">point </span>WHERE 句(SQL)</p> <ul class="list01"> <li>SQL 文で「 WHERE 」句を使って抽出条件を指定する。WHRER 句は以下のように記述。</li> </ul> <table border="1" style="max-width: 100%;"> <tr> <th>関係演算子</th> <th>意味</th> </tr> <tr> <td>=</td> <td>等しい</td> </tr> <tr> <td>></td> <td>より大きい</td> </tr> <tr> <td><</td> <td>より小さい</td> </tr> <tr> <td>>=</td> <td>以上</td> </tr> <tr> <td><=</td> <td>以下</td> </tr> <tr> <td>!= または < ></td> <td>等しくない</td> </tr> <tr> <td>is null</td> <td>空(NULL)</td> </tr> <tr> <td>! または not</td> <td>偽(False)</td> </tr> </table> <ul> <li>比較する値については、テーブルに保存されているデータ形式が数値などの場合には、その数値を直接記述。テキストの場合にはその前後を「 " 」,「 ' 」で囲む。<br> 例)「WHERE area='東北'」 または 「WHERE area=\"東北\"」を記述する。</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> <?php $DBSERVER = "*******"; // 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"); // point が 1500 以上のレコードを読み込む SQL を組み立て $sql = "SELECT * FROM `TABLE 3` WHERE `COL 4` >= 1500"; $body .= "【 COL 4'が 1500 以上のデータ 】" . $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>"; // point が 820 未満のレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 4`< 820"; $body .= "【 point が 820 未満のデータ 】" . $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"; // area が北中米であれうレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 3` = '北中米'"; $body .= "【 COL 3 が北中米であるデータ 】" . $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>"; // area がヨーロッパでないレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3` WHERE `COL 3` <> 'ヨーロッパ'"; $body .= "【 COL 3 がヨーロッパでないデータ 】" . $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"; // MySQL との接続を解除 mysql_close(); ?> <?php <?=$body?> ?> </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">▲ カテゴリートップへ戻る</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 © 2014 webry - 『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved. </address> </footer> </div> <!--▲.content_inner--> </div> <!--▲#container--> </body> </html>
表示内容を確認
MySQL データベースの処理02
データーベースの基礎知識
テーブルの全レコードを読み込む
使用関数: mysql_query 関数 mysql_fetch_array 関数 mysql_free_result 関数 SQL の SELECT 文
- 「mysql_query 関数で SQL 関数で SQL 文を発行して、mysql_fetch_array 関数で結果セットから1レコード文をデーターを取り出す」
- ●mysql_query 関数で SQL 文を発行する
my_sql 関数は、MySQL データベースに対して SQL 文を発行するための関数。ここでは、「sampledb」データベースの「fifaranking」テーブルからすべてのフィールドとレコードを読み込むのものとして、以下の SQL 文を引数に指定する。SELECT * FROM fifaranking
mysql_query 関数の引数として SELECT 武運を指定した場合、返り値はデータベースから返された結果セット(レコードの集まり)の ID になる。引数が INSERT 分や UPDATE 文などの場合は、 SQL の発行に成功したときは True, 失敗した場合には False になる。
●mysql_fetch_array 関数で結果セットから1レコード分のデータを取り出す
開いた結果セットから1レコード分のデータを取り出すには、mysql_fetch_array 関数を使う。mysql_fetch_array 関数の引数には、先ほどの mysql_query 関数から返された結果セット ID を指定する。
この関数の返り値は、結果セット内のカレントレコード(初めて呼び出したときは1レコード目)の各フォールド値(保存されているデータ)です。返り値は連想配列または数値インデックスの配列となっており、テーブル上のフィールド名や列番号をインデックス指定することで、それぞれのフィールドデータを取り出すことができる。例えば、MySQL 上のフィールド名が「rank」なら、以下のような配列の記述を行う。
$col[rank]
mysql_fetch_array 関数を呼び出すたびに、カレントレコードは1つ次へ進む。最後のレコードを過ぎると False を返すので、While 文で返り値が False になるまでループすることで、結果セット内にあるレコードをすべて読み込むことができる。
この関数の第2引数として、以下のように返り値の形式を指定できる。次の例では第2引数を省略しているので、1行目から $col[0], $col[1]・・・のような記述で各フィールドのデータを取り扱うこともできる。
第2引数の定数 | 返り値 |
---|---|
MYSQL_BOTH | 連想配列と数値インデックス配列の両方で返す |
MYSQL_ASSOC | 連想配列として返す |
MYSQL_NUM | 数値インデックス配列として返す |
省略 | MYSQL_BOTHと同じ |
- SELECT 文をつかってすべてのレコードの読み込み処理を完了したら、最後にmysql_free_result 関数を使って結果セットを破棄してメモリを開放する。この関数の引数には、mysql_query 関数から返された結果セット ID を指定する。だたし、メモリはスクリプトの終了時に自動的に開放される。結果セットのデータ量が膨大であると、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"); //fifarankingテーブルのすべてのレコードを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3` WHERE 1"; //結果セットを取得 $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); //MySQLとの接続を解除 mysql_close(); ?> <table border="1" style="max-width: 100%; margin: 30px auto;"> <tr> <th style="width: 5%;">順位</th> <th style="width: 40%;">チーム</th> <th style="width: 40%;">地域</th> <th style="width: 10%;">ポイント</th> </tr> <?=$body?> </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"); //fifarankingテーブルのすべてのレコードを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3` WHERE 1"; //結果セットを取得 $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); //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">1-2 </span>テーブルの全レコードを読み込む</h2> </a> <div class="post_inner"> <p class="p_point"><span class="point">point </span>mysql_query 関数 mysql_fetch_array 関数 mysql_free_result 関数 SQL の SELECT 文</p> <ul class="list01"> <li>「mysql_query 関数で SQL 関数で SQL 文を発行して、mysql_fetch_array 関数で結果セットから1レコード文をデーターを取り出す」</li> <li><span class="b">●mysql_query 関数で SQL 文を発行する</span><br> my_sql 関数は、MySQL データベースに対して SQL 文を発行するための関数。ここでは、「sampledb」データベースの「fifaranking」テーブルからすべてのフィールドとレコードを読み込むのものとして、以下の SQL 文を引数に指定する。<br> <span class="b">SELECT * FROM fifaranking</span><br> mysql_query 関数の引数として SELECT 武運を指定した場合、返り値はデータベースから返された結果セット(レコードの集まり)の ID になる。引数が INSERT 分や UPDATE 文などの場合は、 SQL の発行に成功したときは True, 失敗した場合には False になる。</li> <li><span class="b">●mysql_fetch_array 関数で結果セットから1レコード分のデータを取り出す</span><br> 開いた結果セットから1レコード分のデータを取り出すには、mysql_fetch_array 関数を使う。mysql_fetch_array 関数の引数には、先ほどの mysql_query 関数から返された結果セット ID を指定する。<br> この関数の返り値は、結果セット内のカレントレコード(初めて呼び出したときは1レコード目)の各フォールド値(保存されているデータ)です。返り値は連想配列または数値インデックスの配列となっており、テーブル上のフィールド名や列番号をインデックス指定することで、それぞれのフィールドデータを取り出すことができる。例えば、MySQL 上のフィールド名が「rank」なら、以下のような配列の記述を行う。<br> <span class="b">$col[rank]</span><br> mysql_fetch_array 関数を呼び出すたびに、カレントレコードは1つ次へ進む。最後のレコードを過ぎると False を返すので、While 文で返り値が False になるまでループすることで、結果セット内にあるレコードをすべて読み込むことができる。<br> この関数の第2引数として、以下のように返り値の形式を指定できる。次の例では第2引数を省略しているので、1行目から $col[0], $col[1]・・・のような記述で各フィールドのデータを取り扱うこともできる。</li> </ul> <table border="1" style="max-width: 100%;"> <tr> <th>第2引数の定数</th> <th>返り値</th> </tr> <tr> <td>MYSQL_BOTH</td> <td>連想配列と数値インデックス配列の両方で返す</td> </tr> <tr> <td>MYSQL_ASSOC</td> <td>連想配列として返す</td> </tr> <tr> <td>MYSQL_NUM</td> <td>数値インデックス配列として返す</td> </tr> <tr> <td>省略</td> <td>MYSQL_BOTHと同じ</td> </tr> </table> <ul> <li>SELECT 文をつかってすべてのレコードの読み込み処理を完了したら、最後にmysql_free_result 関数を使って結果セットを破棄してメモリを開放する。この関数の引数には、mysql_query 関数から返された結果セット ID を指定する。だたし、メモリはスクリプトの終了時に自動的に開放される。結果セットのデータ量が膨大であると、PHPスクリプト実行時のメモリ使用量が極端に多くなる場合以外は省略できる。</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> <?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"); //fifarankingテーブルのすべてのレコードを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3` WHERE 1"; //結果セットを取得 $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); //MySQLとの接続を解除 mysql_close(); ?> <?php <?=$body?> ?> </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" style="max-width: 100%; margin: 30px auto;"> <tr> <th style="width: 5%;">順位</th> <th style="width: 40%;">チーム</th> <th style="width: 40%;">地域</th> <th style="width: 10%;">ポイント</th> </tr> <?=$body?> </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">▲ カテゴリートップへ戻る</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 © 2014 webry - 『 webサイト開発 | PHPサンプルサイト 』 All Rights Reserved. </address> </footer> </div> <!--▲.content_inner--> </div> <!--▲#container--> </body> </html>