MySQL データベースの処理27
レコードを操作する
同一データがあれば更新、なければ追加する
使用関数: Count 関数(SQL)
- 下記の例は「テーブルを編集する際、まず同一のデータがすでに保存されているかを確認して、もしあればそれを新しい内容で更新し、なければ新しいレコードとして追加する。」
- まず、COL 3が「ヨーロッパ」である既存のレコード数を取得。Count 関数を使うとともに、WHERE 句にそのCOL 3を指定。
- つづいて、そこから得られたレコード数に応じて処理を分岐する。そのレコード数が「0」より多きければ、既存レコードが存在していることになるので、それに対する更新のSQL分を組み立てる。
そうでなければ、追加するSQL文を組み立てる。なお、更新の場合、そのCOL 3を持った1レコードだけがその対象となるので、UPDATA文にWHERE句を指定することに注意。
【 書式 】
<?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"); ?> <?= // TABLE 3テーブルの同一データのレコード数を取得 $sql = "SELECT Count(*) AS reccnt FROM `TABLE 3` WHERE `COL 3` = \"西ドイツ\""; $rst = mysql_query($sql); $col = mysql_fetch_array($rst); $reccnt = $col[reccnt]; mysql_free_result($rst); if ($reccnt > 0) { // 同一データが存在していれば更新するSQLを組み立て $sql = "UPDATA `TABLE 3` SET `COL 3` = \"西ドイツ\", `COL 4` = '1000', `COL 1` = '121', WHERE `COL 3` = \"西ドイツ\""; print "レコード更新!<br><br>"; } else { // 同一なデータがなければ追加するSQLを組み立てる $sql = "INSERT INTO `TABLE 3` (`COL 3`, `COL 4`, `COL 1`)"; print "レコードを追加!<br><br>"; } // SQL を発行 if (mysql_query($sql)) { print "処理に成功<br><br>"; } else { print "処理に失敗<br><br>"; } // MySQLとの接続解除 mysql_close(); ?>
ソースコード
ソースコード【 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"); ?> <!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-12 </span>同一データがあれば更新、なければ追加する</h2> </a> <div class="post_inner">Count 関数(SQL) </p> <ul class="list01"> <li>下記の例は「テーブルを編集する際、まず同一のデータがすでに保存されているかを確認して、もしあればそれを新しい内容で更新し、なければ新しいレコードとして追加する。」 <li> <li>まず、COL 3が「ヨーロッパ」である既存のレコード数を取得。Count 関数を使うとともに、WHERE 句にそのCOL 3を指定。</li> <li>つづいて、そこから得られたレコード数に応じて処理を分岐する。そのレコード数が「0」より多きければ、既存レコードが存在していることになるので、それに対する更新のSQL分を組み立てる。<br> そうでなければ、追加するSQL文を組み立てる。なお、更新の場合、そのCOL 3を持った1レコードだけがその対象となるので、UPDATA文にWHERE句を指定することに注意。</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"); ?> <?= // TABLE 3テーブルの同一データのレコード数を取得 $sql = "SELECT Count(*) AS reccnt FROM `TABLE 3` WHERE `COL 3` = \"西ドイツ\""; $rst = mysql_query($sql); $col = mysql_fetch_array($rst); $reccnt = $col[reccnt]; mysql_free_result($rst); if ($reccnt > 0) { // 同一データが存在していれば更新するSQLを組み立て $sql = "UPDATA `TABLE 3` SET `COL 3` = \"西ドイツ\", `COL 4` = '1000', `COL 1` = '121', WHERE `COL 3` = \"西ドイツ\""; print "レコード更新!<br><br>"; } else { // 同一なデータがなければ追加するSQLを組み立てる $sql = "INSERT INTO `TABLE 3` (`COL 3`, `COL 4`, `COL 1`)"; print "レコードを追加!<br><br>"; } // SQL を発行 if (mysql_query($sql)) { print "処理に成功<br><br>"; } else { print "処理に失敗<br><br>"; } // MySQLとの接続解除 mysql_close(); ?> </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 3テーブルの同一データのレコード数を取得 $sql = "SELECT Count(*) AS reccnt FROM `TABLE 3` WHERE `COL 3` = \"西ドイツ\""; $rst = mysql_query($sql); $col = mysql_fetch_array($rst); $reccnt = $col[reccnt]; mysql_free_result($rst); if ($reccnt > 0) { // 同一データが存在していれば更新するSQLを組み立て $sql = "UPDATA `TABLE 3` SET `COL 3` = \"西ドイツ\", `COL 4` = '1000', `COL 1` = '121', WHERE `COL 3` = \"西ドイツ\""; print "レコード更新!<br><br>"; } else { // 同一なデータがなければ追加するSQLを組み立てる $sql = "INSERT INTO `TABLE 3` (`COL 3`, `COL 4`, `COL 1`)"; print "レコードを追加!<br><br>"; } // SQL を発行 if (mysql_query($sql)) { print "処理に成功<br><br>"; } else { print "処理に失敗<br><br>"; } // MySQLとの接続解除 mysql_close(); ?> </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 データベースの処理26
レコードを操作する
テーブルのレコードを更新する
使用関数: UPDATE 文(SQL) mysql_query 関数
- テーブルに保存されている既存のレコードを更新するには、「UPDATE」文を使ったSQL を mysql_query 関数で発行する。UPDATE 文は次のような構文で記述する。UPDATE 文を mysql_query 関数で発行すると、レコードの更新に成功した場合は True, 失敗した場合は False が返される。
UPDATE 文
UPDATE テーブル名 SET
フィールド名 = 値,
フィールド名 = 値,・・・
●テーブル名
更新する既存のテーブル名を指定する。
●フィールド名
更新対象となるフィールド名を指定する。
●値
左辺のフィールドに対する更新後の値を指定する。フィールドが文字列型の場合「”」や「'」で囲むなど、値は更新先フィールドのデータ型に準じて記述される。「SET 'COL 4' = 3000」のうように、直接その値を指定する(この場合は全レコードが「3000」に更新される。ほかのフィールドに保存されているデータを加工して、その値に更新することもできる。)
複数のフィールドを更新する場合は、「フィールド名=値」を1セットとして、カンマ区切りで列挙する(最後はカンマ不要)。WHERE 句を併用して、特定の条件に一致するレコードだけを更新することもできる。
【 書式 】
<?php $DBSERVER = "localhost"; // MySQL サーバ名 $DBUSER = "*****"; // ログインユーザ名 $DBPASSWORD = "*****"; // パスワード $DBNAME = "*****"; // データベース名 $TABLEHEAD = "<table border='1'> <tr> <th>TITLE</th> <th>POINT</th> <th>ID</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 * FROM `TABLE 3`"; $body .= "【 更新前のデータ 】" . $TABLEHEAD; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットからデータをループで読み込む while ($col = mysql_fetch_array($rst)) { $body .= "<tr>"; $body .= "<td>" . $col['COL 2'] . "</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "<td align='center'>" . $col['COL 1'] . "</td>"; $body .= "</tr>"; } // 結果セットを破棄 mysql_free_result($rst); $body .= "$TABLEFOOT<br>"; // レコードを更新する SQL を組み立てる $sql = "UPDATE `TABLE 3` SET `COL 4` = `COL 4` * 1.05"; // SQL を発行 if (mysql_query($sql)) { $body .= "レコードを更新した!<br><br>"; } else { $body .= "レコードの更新に失敗!!<br><br>"; } // TABLE 3 テーブルのすべてのレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3`"; $body .= "【 更新データ後 】" . $TABLEHEAD; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットからデータをループで読み込む while ($col = mysql_fetch_array($rst)) { $body .= "<tr>"; $body .= "<td>" . $col['COL 2'] . "</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "<td align='center'>" . $col['COL 1'] . "</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>TITLE</th> <th>POINT</th> <th>ID</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 * FROM `TABLE 3`"; $body .= "【 更新前のデータ 】" . $TABLEHEAD; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットからデータをループで読み込む while ($col = mysql_fetch_array($rst)) { $body .= "<tr>"; $body .= "<td>" . $col['COL 2'] . "</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "<td align='center'>" . $col['COL 1'] . "</td>"; $body .= "</tr>"; } // 結果セットを破棄 mysql_free_result($rst); $body .= "$TABLEFOOT<br>"; // レコードを更新する SQL を組み立てる $sql = "UPDATE `TABLE 3` SET `COL 4` = `COL 4` * 1.05"; // SQL を発行 if (mysql_query($sql)) { $body .= "レコードを更新した!<br><br>"; } else { $body .= "レコードの更新に失敗!!<br><br>"; } // TABLE 3 テーブルのすべてのレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3`"; $body .= "【 更新データ後 】" . $TABLEHEAD; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットからデータをループで読み込む while ($col = mysql_fetch_array($rst)) { $body .= "<tr>"; $body .= "<td>" . $col['COL 2'] . "</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "<td align='center'>" . $col['COL 1'] . "</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">1-11 </span>テーブルのレコードを更新する</h2> </a> <div class="post_inner">UPDATE 文(SQL) mysql_query 関数 </p> <ul class="list01"> <li>テーブルに保存されている既存のレコードを更新するには、「UPDATE」文を使ったSQL を mysql_query 関数で発行する。UPDATE 文は次のような構文で記述する。UPDATE 文を mysql_query 関数で発行すると、レコードの更新に成功した場合は True, 失敗した場合は False が返される。<br> <span class="b">UPDATE 文<br> UPDATE テーブル名 SET<br> フィールド名 = 値, フィールド名 = 値,・・・</span><br> ●<span class="b">テーブル名</span><br> 更新する既存のテーブル名を指定する。<br> ●<span class="b">フィールド名</span><br> 更新対象となるフィールド名を指定する。<br> ●<span class="b">値</span><br> 左辺のフィールドに対する更新後の値を指定する。フィールドが文字列型の場合「”」や「'」で囲むなど、値は更新先フィールドのデータ型に準じて記述される。「SET 'COL 4' = 3000」のうように、直接その値を指定する(この場合は全レコードが「3000」に更新される。ほかのフィールドに保存されているデータを加工して、その値に更新することもできる。)<br> 複数のフィールドを更新する場合は、「フィールド名=値」を1セットとして、カンマ区切りで列挙する(最後はカンマ不要)。WHERE 句を併用して、特定の条件に一致するレコードだけを更新することもできる。 <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'> <tr> <th>TITLE</th> <th>POINT</th> <th>ID</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 * FROM `TABLE 3`"; $body .= "【 更新前のデータ 】" . $TABLEHEAD; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットからデータをループで読み込む while ($col = mysql_fetch_array($rst)) { $body .= "<tr>"; $body .= "<td>" . $col['COL 2'] . "</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "<td align='center'>" . $col['COL 1'] . "</td>"; $body .= "</tr>"; } // 結果セットを破棄 mysql_free_result($rst); $body .= "$TABLEFOOT<br>"; // レコードを更新する SQL を組み立てる $sql = "UPDATE `TABLE 3` SET `COL 4` = `COL 4` * 1.05"; // SQL を発行 if (mysql_query($sql)) { $body .= "レコードを更新した!<br><br>"; } else { $body .= "レコードの更新に失敗!!<br><br>"; } // TABLE 3 テーブルのすべてのレコードを読み込む SQL を組み立てる $sql = "SELECT * FROM `TABLE 3`"; $body .= "【 更新データ後 】" . $TABLEHEAD; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットからデータをループで読み込む while ($col = mysql_fetch_array($rst)) { $body .= "<tr>"; $body .= "<td>" . $col['COL 2'] . "</td>"; $body .= "<td align='right'>" . $col['COL 4'] . "</td>"; $body .= "<td align='center'>" . $col['COL 1'] . "</td>"; $body .= "</tr>"; } // 結果セットを破棄 mysql_free_result($rst); $body .= "$TABLEFOOT<br>"; // MySQL との接続を解除 mysql_close(); ?> <?=$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 データベースの処理25
レコードを操作する
配列のデータをまとめて追加する
使用関数: INSERT 文(SQL) mysql_query 関数 foreach
- 下記の例は、あらかじめ配列に用意された複数のデータをまとめてテーブルに追加する例。
多次元の $arydata 配列に代入されているデータを TABLE 3 に追加している。foreach 文によるループによって、配列内のデータを順番に取り出しながら、それらをまとめてレコードを追加する。ただし、INSERT 文そのものは1回1レコードの追加であることに注意。
【 書式 】
<?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"); ?> <?= // データを配列に用意 $arydata = array( array("目白", "山の手", "1200"), array("大久保", "山手", "13000"), array("新宿", "新宿線", "500") ); // 配列のデータを順番に取り出す foreach ($arydata as $data) { // レコードを追加する SQL を組み立てる $sql = "INSERT INTO `TABLE 3` (`COL 2`, `COL 3`, `COL 4`) VALUES (\"$data[0]\", \"$data[1]\", '$data[2]')"; // SQL を発行 if (mysql_query($sql)) { print "「" . $data[0] . "」のレコードを追加<br><br>"; } else { print "レコードの追加に失敗した。<br><br>"; } } // MySQL との接続を解除 mysql_close(); ?>
ソースコード
ソースコード【 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"); ?> <!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-10 </span>配列のデータをまとめて追加する</h2> </a> <div class="post_inner">INSERT 文(SQL) mysql_query 関数 foreach </p> <ul class="list01"> <li>下記の例は、あらかじめ配列に用意された複数のデータをまとめてテーブルに追加する例。<br> 多次元の $arydata 配列に代入されているデータを TABLE 3 に追加している。foreach 文によるループによって、配列内のデータを順番に取り出しながら、それらをまとめてレコードを追加する。ただし、INSERT 文そのものは1回1レコードの追加であることに注意。</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"); ?> <?= // データを配列に用意 $arydata = array( array("目白", "山の手", "1200"), array("大久保", "山手", "13000"), array("新宿", "新宿線", "500") ); // 配列のデータを順番に取り出す foreach ($arydata as $data) { // レコードを追加する SQL を組み立てる $sql = "INSERT INTO `TABLE 3` (`COL 2`, `COL 3`, `COL 4`) VALUES (\"$data[0]\", \"$data[1]\", '$data[2]')"; // SQL を発行 if (mysql_query($sql)) { print "「" . $data[0] . "」のレコードを追加<br><br>"; } else { print "レコードの追加に失敗した。<br><br>"; } } // MySQL との接続を解除 mysql_close(); ?> </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"> <?= // データを配列に用意 $arydata = array( array("目白", "山の手", "1200"), array("大久保", "山手", "13000"), array("新宿", "新宿線", "500") ); // 配列のデータを順番に取り出す foreach ($arydata as $data) { // レコードを追加する SQL を組み立てる $sql = "INSERT INTO `TABLE 3` (`COL 2`, `COL 3`, `COL 4`) VALUES (\"$data[0]\", \"$data[1]\", '$data[2]')"; // SQL を発行 if (mysql_query($sql)) { print "「" . $data[0] . "」のレコードを追加<br><br>"; } else { print "レコードの追加に失敗した。<br><br>"; } } // MySQL との接続を解除 mysql_close(); ?> </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 データベースの処理24
レコードを操作する
テーブルにレコードを追加する
使用関数: INSERT 文(SQL) mysql_query 関数
- テーブルレコードを追加するには、「INSERT」文を使ったSQLをmysql_query 関数によって発行する。INSERT 文は次のような構文になる。
INSERT 文
INSERT INTO テーブル名
(フィールド名, フィールド名, ・・・・)
VALUES
(値, 値, ・・・・);
- テーブル名
レコードの追加さきとなる既存テーブルの名前を指定。 - フィールド
データを書き込むフィールド名を指定する。複数ある場合はカンマで区切って列挙する。 - 値
実際にテーブルに書き込むデータの値を指定。
- テーブル名
- 下記の例の場合
title ← Excel 関数で困ったときの基本技・便利技
price ← 880
releasedate ← 2006-8-5
「値」は、書き込み先のフィールドのデータ型に準じて記述する必要がある。例、フィールドが文字列場合は「”」や「'」で囲む。数値の場合そのまま記述。日付/時刻型も「"」や「'」で囲む。
- 下記の例のtitleの文字列に「"」や「'」やエスケープ文字が含まれたりすると、変数$sql に代入するPHP スクリプト上の文字列が壊れることがある。これを回避するため「\"」で囲んでいる。
HTML フォームから入力された文字列をテーブルに保存する場合など、この方法でトラブルを回避できる。ことがある。 - INSERT 文を mysql_query 関数で発行する場合、SELECT 文のような結果セットは返されない。レコードの追加に成功した場合は Ture, 失敗した場合は False が返される。
【 書式 】
<?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"); ?> <?= //`TABLE 3`テーブルの総レコード数を取得 $sql = "SELECT Count(*) AS `COL 3` FROM `TABLE 3`"; $rst = mysql_query($sql); $col = mysql_fetch_array($rst); print "COL 3 のレコード数は?" . $col['COL 3'] . "<BR><BR>"; mysql_free_result($rst); // $sql = "INSERT INTO `TABLE 3` (`COL 2`, `COL 4`, `COL 3`) VALUES (\"日本\", \"東京\" , '1999')"; //SQLを発行 if (mysql_query($sql)) { print "保存した。<BR><BR>"; } else { print "保存できない。<BR><BR>"; } // 追加後のデータの確認 $sql = "SELECT Count(*) AS `COL 3` FROM `TABLE 3`"; $rst = mysql_query($sql); $col = mysql_fetch_array($rst); print "COL 3 の総レコード数は?" . $col['COL 3'] . "<BR><BR>"; mysql_free_result($rst); // MySQL との接続を解除 mysql_close(); ?>
ソースコード
ソースコード【 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"); ?> <!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-9 </span>テーブルにレコードを追加する</h2> </a> <div class="post_inner">INSERT 文(SQL) mysql_query 関数 </p> <ul class="list01"> <li>テーブルレコードを追加するには、「INSERT」文を使ったSQLをmysql_query 関数によって発行する。INSERT 文は次のような構文になる。</li> INSERT 文 INSERT INTO テーブル名 (フィールド名, フィールド名, ・・・・) VALUES (値, 値, ・・・・); <li> <ul> <li>テーブル名<br> レコードの追加さきとなる既存テーブルの名前を指定。</li> <li>フィールド<br> データを書き込むフィールド名を指定する。複数ある場合はカンマで区切って列挙する。</li> <li>値<br> 実際にテーブルに書き込むデータの値を指定。</li> </ul> </li> <li>下記の例の場合<br> title ← Excel 関数で困ったときの基本技・便利技<br> price ← 880<br> releasedate ← 2006-8-5<br> 「値」は、書き込み先のフィールドのデータ型に準じて記述する必要がある。例、フィールドが文字列場合は「”」や「'」で囲む。数値の場合そのまま記述。日付/時刻型も「"」や「'」で囲む。 <li>下記の例のtitleの文字列に「"」や「'」やエスケープ文字が含まれたりすると、変数$sql に代入するPHP スクリプト上の文字列が壊れることがある。これを回避するため「\"」で囲んでいる。<br> HTML フォームから入力された文字列をテーブルに保存する場合など、この方法でトラブルを回避できる。ことがある。</li> <li>INSERT 文を mysql_query 関数で発行する場合、SELECT 文のような結果セットは返されない。レコードの追加に成功した場合は Ture, 失敗した場合は False が返される。</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 = "*********"; // データベース名 //MySQLに接続 if (! $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD)) { exit("MySQLに接続できない"); } //データベースを選択 mysql_select_db($DBNAME); //MySQLの文字コードを設定 mysql_query("set names utf8"); ?> <? = //`TABLE 3`テーブルの総レコード数を取得 $sql = "SELECT Count(*) AS `COL 3` FROM `TABLE 3`"; $rst = mysql_query($sql); $col = mysql_fetch_array($rst); print "COL 3 のレコード数は?" . $col['COL 3'] . "<BR><BR>"; mysql_free_result($rst); // $sql = "INSERT INTO `TABLE 3` (`COL 2`, `COL 4`, `COL 3`) VALUES (\"日本\", \"東京\" , '1999')"; //SQLを発行 if (mysql_query($sql)) { print "保存した。<BR><BR>"; } else { print "保存できない。<BR><BR>"; } // 追加後のデータの確認 $sql = "SELECT Count(*) AS `COL 3` FROM `TABLE 3`"; $rst = mysql_query($sql); $col = mysql_fetch_array($rst); print "COL 3 の総レコード数は?" . $col['COL 3'] . "<BR><BR>"; mysql_free_result($rst); // MySQL との接続を解除 mysql_close(); ?> </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 3`テーブルの総レコード数を取得 $sql = "SELECT Count(*) AS `COL 3` FROM `TABLE 3`"; $rst = mysql_query($sql); $col = mysql_fetch_array($rst); print "COL 3 のレコード数は?" . $col['COL 3'] . "<BR><BR>"; mysql_free_result($rst); // $sql = "INSERT INTO `TABLE 3` (`COL 2`, `COL 4`, `COL 3`) VALUES (\"日本\", \"東京\" , '1999')"; //SQLを発行 if (mysql_query($sql)) { print "保存した。<BR><BR>"; } else { print "保存できない。<BR><BR>"; } // 追加後のデータの確認 $sql = "SELECT Count(*) AS `COL 3` FROM `TABLE 3`"; $rst = mysql_query($sql); $col = mysql_fetch_array($rst); print "COL 3 の総レコード数は?" . $col['COL 3'] . "<BR><BR>"; mysql_free_result($rst); // MySQL との接続を解除 mysql_close(); ?> </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 データベースの処理23
レコードを操作する
レコードとフィールドを配列で読み込む
使用関数: mysql_result 関数
- mysql_result 関数を使うと、結果セットに含まれる特定のレコードの、特定のフィールドだけを取り出せる。
この関数の第1引数には「結果セットID」、第2引数には「取り出したいレコード番号」、第3引数には「取り出したいフィールド番号」を指定する。いずれも先頭を「0」として数える。 - mysql_num_rows 関数によって得られた結果セットのレコード数、ならびにmysql_num_fields 関数によって得られたフィールド数をカウンタの上限とする2重構造のループ処理する。これにより、すべてのレコード/フィールドのデータを読み込むことができる。
この方法は、あらかじめフィールドの数や名前を知る必要がないので、「とにかくテーブルの中身を画面に表示させたい」ときに便利。任意のレコード/フィールドにランダムにアクセスする場合なども有効。
【 書式 】
<?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"); //`TABLE 3`テーブルのすべてのフィールドを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3`"; //結果セットを取得 $rst = mysql_query($sql); // 結果セットのフィールド数を取得 $fldmax = mysql_num_fields($rst); // 結果セットのレコード数を取得 $recmax = mysql_num_rows($rst); // HTML の表のヘッダを組みたて $body = "<tr>"; for ($fldnum = 0; $fldnum < $fldmax; $fldnum++) { $body .= "<th>" . mysql_field_name($rst, $fldnum) . "</th>"; } $body .= "</tr>"; // HTML の表のデータ部を組み立て for ($recnum = 0; $recnum < $recmax; $recnum++) { $body .= "<tr>"; for ($fldnum = 0; $fldnum < $fldmax; $fldnum++) { $body .= "<td>" . mysql_result($rst, $recnum, $fldnum) . "</td>"; } $body .= "</tr>"; } ?> <table border="1"> <?=$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"); //`TABLE 3`テーブルのすべてのフィールドを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3`"; //結果セットを取得 $rst = mysql_query($sql); // 結果セットのフィールド数を取得 $fldmax = mysql_num_fields($rst); // 結果セットのレコード数を取得 $recmax = mysql_num_rows($rst); // HTML の表のヘッダを組みたて $body = "<tr>"; for ($fldnum = 0; $fldnum < $fldmax; $fldnum++) { $body .= "<th>" . mysql_field_name($rst, $fldnum) . "</th>"; } $body .= "</tr>"; // HTML の表のデータ部を組み立て for ($recnum = 0; $recnum < $recmax; $recnum++) { $body .= "<tr>"; for ($fldnum = 0; $fldnum < $fldmax; $fldnum++) { $body .= "<td>" . mysql_result($rst, $recnum, $fldnum) . "</td>"; } $body .= "</tr>"; } ?> <!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-8 </span>レコードとフィールドを配列で読み込む</h2> </a> <div class="post_inner">mysql_result 関数 </p> <ul class="list01"> <li>mysql_result 関数を使うと、結果セットに含まれる特定のレコードの、特定のフィールドだけを取り出せる。<br> この関数の第1引数には「結果セットID」、第2引数には「取り出したいレコード番号」、第3引数には「取り出したいフィールド番号」を指定する。いずれも先頭を「0」として数える。</li> <li>mysql_num_rows 関数によって得られた結果セットのレコード数、ならびにmysql_num_fields 関数によって得られたフィールド数をカウンタの上限とする2重構造のループ処理する。これにより、すべてのレコード/フィールドのデータを読み込むことができる。<br> この方法は、あらかじめフィールドの数や名前を知る必要がないので、「とにかくテーブルの中身を画面に表示させたい」ときに便利。任意のレコード/フィールドにランダムにアクセスする場合なども有効。</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"); //`TABLE 3`テーブルのすべてのフィールドを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3`"; //結果セットを取得 $rst = mysql_query($sql); // 結果セットのフィールド数を取得 $fldmax = mysql_num_fields($rst); // 結果セットのレコード数を取得 $recmax = mysql_num_rows($rst); // HTML の表のヘッダを組みたて $body = "<tr>"; for ($fldnum = 0; $fldnum < $fldmax; $fldnum++) { $body .= "<th>" . mysql_field_name($rst, $fldnum) . "</th>"; } $body .= "</tr>"; // HTML の表のデータ部を組み立て for ($recnum = 0; $recnum < $recmax; $recnum++) { $body .= "<tr>"; for ($fldnum = 0; $fldnum < $fldmax; $fldnum++) { $body .= "<td>" . mysql_result($rst, $recnum, $fldnum) . "</td>"; } $body .= "</tr>"; } ?> <?=$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"> <?=$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>
表示内容を確認
MySQL データベースの処理22
レコードを操作する
レコードのフィールド名を調べる
使用関数: mysql_field_name 関数
- mysql_field_name 関数を使うと、SELECT 文の発行によって得られた結果セットの各フィールド名を取得できる。この関数の第1引数には、mysql_query 関数の返り値である「結果セットID」を指定する。
第2引数には「名前を知りたいフィールドの列番号」(先頭は「0」を指定)。 - mysql_num_fields 関数によって得られた総フィールド数を上限とするループでこの引数を変えていくことにより、すべてのフィールド名を得ることができる。
【 書式 】
<?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"); //`TABLE 3`テーブルのすべてのフィールドを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3`"; //結果セットを取得 $rst = mysql_query($sql); ?> <?= //結果セットのフィールド数を取得 $fldmax = mysql_num_fields($rst); print "$fldmax ヶのフィールドがある。<br>"; // すべてのフィールド名を出力 for ($fldmax = 0; $fldmax < $fldmax; $fldmax++) { print mysql_field_name ($rst, $fldmax) . "<br>"; } //結果セットを破棄 mysql_free_result($rst); // MySQL との接続を解除 mysql_close(); ?>
ソースコード
ソースコード【 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"); //`TABLE 3`テーブルのすべてのフィールドを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3`"; //結果セットを取得 $rst = mysql_query($sql); ?> <!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-7 </span>レコードのフィールド名を調べる</h2> </a> <div class="post_inner">mysql_field_name 関数 </p> <ul class="list01"> <li>mysql_field_name 関数を使うと、SELECT 文の発行によって得られた結果セットの各フィールド名を取得できる。この関数の第1引数には、mysql_query 関数の返り値である「結果セットID」を指定する。<br> 第2引数には「名前を知りたいフィールドの列番号」(先頭は「0」を指定)。</li> <li>mysql_num_fields 関数によって得られた総フィールド数を上限とするループでこの引数を変えていくことにより、すべてのフィールド名を得ることができる。</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"); //`TABLE 3`テーブルのすべてのフィールドを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3`"; //結果セットを取得 $rst = mysql_query($sql); ?> <?= //結果セットのフィールド数を取得 $fldmax = mysql_num_fields($rst); print "$fldmax ヶのフィールドがある。<br>"; // すべてのフィールド名を出力 for ($fldmax = 0; $fldmax < $fldmax; $fldmax++) { print mysql_field_name ($rst, $fldmax) . "<br>"; } //結果セットを破棄 mysql_free_result($rst); // MySQL との接続を解除 mysql_close(); ?> </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"> <?= //結果セットのフィールド数を取得 $fldmax = mysql_num_fields($rst); print "$fldmax ヶのフィールドがある。<br>"; // すべてのフィールド名を出力 for ($fldmax = 0; $fldmax < $fldmax; $fldmax++) { print mysql_field_name ($rst, $fldmax) . "<br>"; } //結果セットを破棄 mysql_free_result($rst); // MySQL との接続を解除 mysql_close(); ?> </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 データベースの処理21
レコードを操作する
レコードのフィールド数を調べる
使用関数: mysql_num_fields 関数
- mysql_num_fields 関数を使うと、SELECT 文の発行によって得られた結果セットのフィールド数を取得できる。
この関数の引数には、mysql_query 関数の返り値である「結果セットID」をしていする。
【 書式 】
<?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"); //`TABLE 3`テーブルのすべてのフィールドを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3`"; ?> <?= //結果セットを取得 $rst = mysql_query($sql); //結果セットのフィールド数を取得 print mysql_num_fields($rst) . " ヶのフィールドがある<br>"; //結果セットを破棄 mysql_free_result($rst); // `TABLE 3` のテーブルの `COL 2`と`COL 4`フィールドだけを読み込む SQL を組み立てる $sql = "SELECT `COL 2`, `COL 4` FROM `TABLE 3`"; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットのフィールド数を取得 print mysql_num_fields($rst) . "ヶのフィールドがある<br>"; // 結果セットを破棄 mysql_free_result($rst); // MySQL との接続を解除 mysql_close();?>
ソースコード
ソースコード【 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"); //`TABLE 3`テーブルのすべてのフィールドを読み込むSQLを組み立て $sql = "SELECT * FROM `TABLE 3`"; ?> <!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-6 </span>レコードのフィールド数を調べる</h2> </a> <div class="post_inner">mysql_num_fields 関数 </p> <ul class="list01"> <li>mysql_num_fields 関数を使うと、SELECT 文の発行によって得られた結果セットのフィールド数を取得できる。<br> この関数の引数には、mysql_query 関数の返り値である「結果セット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 = "*********"; // データベース名 //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 * FROM `TABLE 3`"; ?> <?= //結果セットを取得 $rst = mysql_query($sql); //結果セットのフィールド数を取得 print mysql_num_fields($rst) . " ヶのフィールドがある<br>"; //結果セットを破棄 mysql_free_result($rst); // `TABLE 3` のテーブルの `COL 2`と`COL 4`フィールドだけを読み込む SQL を組み立てる $sql = "SELECT `COL 2`, `COL 4` FROM `TABLE 3`"; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットのフィールド数を取得 print mysql_num_fields($rst) . "ヶのフィールドがある<br>"; // 結果セットを破棄 mysql_free_result($rst); // MySQL との接続を解除 mysql_close();?> </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"> <?= //結果セットを取得 $rst = mysql_query($sql); //結果セットのフィールド数を取得 print mysql_num_fields($rst) . " ヶのフィールドがある<br>"; //結果セットを破棄 mysql_free_result($rst); // `TABLE 3` のテーブルの `COL 2`と`COL 4`フィールドだけを読み込む SQL を組み立てる $sql = "SELECT `COL 2`, `COL 4` FROM `TABLE 3`"; // 結果セットを取得 $rst = mysql_query($sql); // 結果セットのフィールド数を取得 print mysql_num_fields($rst) . "ヶのフィールドがある<br>"; // 結果セットを破棄 mysql_free_result($rst); // MySQL との接続を解除 mysql_close();?> </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>