「よく使用する( foreach )文の説明」の編集履歴(バックアップ)一覧に戻る
よく使用する( foreach )文の説明 - (2009/01/07 (水) 19:00:23) のソース
<h3><a href="../../hitoshop/pages/38.html">よく使用する( foreach )文の説明</a></h3> <p> </p> <p><font size="4" color="#000080" style="background-color:rgb(255,204,153);">mysql操作関数</font></p> <table width="593" cellspacing="1" cellpadding="1" border="0"><tbody><tr style="background-color:rgb(255,153,204);"><td colspan="2"><strong><font color="#FF0000">foreach.php<br /></font></strong></td> </tr><tr><td style="background-color:rgb(204,255,204);">機能と返り値</td> <td> <p>mysql_fetch_array関数の第二引数に[MYSQL_ASSOC]を指定した場合と同じ</p> </td> </tr><tr><td style="background-color:rgb(204,255,204);">引数</td> <td>mysql_query関数で返された結果セットID</td> </tr><tr><td colspan="2"> <p><?php<br /> /**<br /> * Created on 2008/11/11<br /> *<br /> * DB接続<br /> * Foreach文<br /> *<br /> */<br /> <br /><br /> require_once 'Smarty.class.php';<br /> $o_Smarty = new Smarty();<br /> $o_Smarty->template_dir = './templates/';<br /> $o_Smarty->comkpile_dir = './templates_c';<br /><br /> try {<br /> $db = new PDO('mysql:dbname=testtable;host:localhost', 'root', '');<br /> $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);<br /> $db->query('set names utf8');<br /> $rs = $db->query('SELECT * FROM member'); <br /> $o_Smarty->assign('data', $rs->fetchAll());<br /><br /> } catch(PDOException $e) {<br /> print('エラーメッセージ' . $e->getMessage());<br /> }<br /><br /> $o_Smarty->display('foreach_book.tpl');<br /><br /><br /> ?></p> </td> </tr></tbody></table><p> </p> <table width="593" cellspacing="1" cellpadding="1" border="0"><tbody><tr style="background-color:rgb(255,153,204);"><td colspan="2"><strong><font color="#FF0000">foreach_book.tpl<br /></font></strong></td> </tr><tr><td style="background-color:rgb(204,255,204);">機能と返り値</td> <td>mysql_fetch_arrayの第二引数で[MYSQL_NUM]で指定した場合と同じ</td> </tr><tr><td style="background-color:rgb(204,255,204);">引数</td> <td>mysql_query関数で返された結果セットID</td> </tr><tr><td colspan="2"> <p><html><br /> <head><br /><br /> <title>Foreach文</title><br /><br /> </head><br /> <body><br /> <table border="1"><br /> <tr><br /> <th>ID</th><th>menberID</th><th>mail</th><th>name</th><br /> </tr><br /> {foreach from=$data item="clm"}<br /> <tr bgcolor="{cycle values="FFffFF, FFff99"}"><br /> <td>{$clm.id}</td><br /> <td>{$clm.memberID}</td><br /> <td>{$clm.mail|escape}</td><br /> <td>{$clm.name|escape}</td><br /> </tr><br /> {/foreach}<br /> </table><br /> </body><br /> </html></p> </td> </tr></tbody></table><p> </p> <table width="593" cellspacing="1" cellpadding="1" border="0"><tbody><tr style="background-color:rgb(255,153,204);"><td colspan="2"><strong><font color="#FF0000">mysql_num_fields</font></strong>関数</td> </tr><tr><td style="background-color:rgb(204,255,204);">機能と返り値</td> <td>結果セットに含まれるフィールド数を返す。主にフィールドをループ処理する場合に使用</td> </tr><tr><td style="background-color:rgb(204,255,204);">引数</td> <td> <p>mysql_query関数で返された結果セットID</p> </td> </tr><tr><td colspan="2"> <p><?php<br /> $rst = query(sql文);<br /><br /> $fldCnt = mysql_num_fields($rst);<br /> echo $fldCnt . 'のフィールド数があります';<br /> ?></p> </td> </tr></tbody></table><p> </p> <p> </p> <table width="593" cellspacing="1" cellpadding="1" border="0"><tbody><tr style="background-color:rgb(255,153,204);"><td colspan="2"><strong><font color="#FF0000">mysql_field_name</font></strong>関数</td> </tr><tr><td style="background-color:rgb(204,255,204);">機能と返り値</td> <td>結果セットから指定のフィールド名を取得</td> </tr><tr><td style="background-color:rgb(204,255,204);">引数</td> <td>第一引数に、mysql_queryで返された結果セットID。第二引数に、取得したいフィールド番号を指定</td> </tr><tr><td colspan="2"> <p><?php<br /> $rst = query(sql文);<br /><br /> $fldCnt = mysql_num_fileds($rst);<br /> echo $fldCnt . 'のフィールド数があります';<br /><br /> for ($i = 0; $i < $fldCnt; $i++) {<br /> echo mysql_filed_name($rst, $i) . '<br />';<br /> }<br /> ?></p> </td> </tr></tbody></table><p> </p> <table width="593" cellspacing="1" cellpadding="1" border="0"><tbody><tr style="background-color:rgb(255,153,204);"><td colspan="2"><strong><font color="#FF0000">mysql_result</font></strong>関数</td> </tr><tr><td style="background-color:rgb(204,255,204);">機能と返り値</td> <td> 結果セットから特定の行番号/列番号のデータを返す。ループ処理においてレコード番号やフィールド番号をインデックスとして扱いたい場合や、ランダムにデータを取り出したい場合に使用する</td> </tr><tr><td style="background-color:rgb(204,255,204);">引数</td> <td> <p>第一引数に、mysql_query関数で返された結果セットID。第二引数にレコード番号。第三引数に、フィールド番号(省略可能)</p> </td> </tr><tr><td colspan="2"> <p><?php<br /> $rst = query(sql文);<br /><br /> echo '1行1列目の値は、' . mysql_result($rst, 0, 0);<br /> echo '3行2列目の値は、' . mysql_result($rst, 2, 1);<br /><br /> ?></p> </td> </tr></tbody></table><p> </p> <table width="593" cellspacing="1" cellpadding="1" border="0"><tbody><tr style="background-color:rgb(255,153,204);"><td colspan="2"><strong><font color="#FF0000">mysql_list_tables</font></strong>関数</td> </tr><tr><td style="background-color:rgb(204,255,204);">機能と返り値</td> <td>指定データベース内のテーブルの一覧を結果セットとして返す</td> </tr><tr><td style="background-color:rgb(204,255,204);">引数</td> <td>第一引数に、データベース名。第二引数にmysql_connect関数で返された接続ID(省略可能)</td> </tr><tr><td colspan="2"> <p><?php<br /> $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);<br /><br /> $rst = mysql_list_tables($DBNAME);<br /><br /> while ($col = mysql_fetch_array($rst)) {<br /> echo $col[0] . '<br />';<br /> }<br /> ?></p> </td> </tr></tbody></table><p> </p> <table width="593" cellspacing="1" cellpadding="1" border="0"><tbody><tr style="background-color:rgb(255,153,204);"><td colspan="2"><strong><font color="#FF0000">mysql_list_fields</font></strong>関数</td> </tr><tr><td style="background-color:rgb(204,255,204);">機能と返り値</td> <td> 指定テーブルのフィールド名の一覧を結果セットとして返す。結果セットにはレコードはなく、結果セットの各フィールド名が指定テーブルのフィールド名を表す</td> </tr><tr><td style="background-color:rgb(204,255,204);">引数</td> <td>第一引数にデータベース名、第二引数にテーブル名。第三引数にmysql_connect関数で返された接続ID(省略可能)</td> </tr><tr><td colspan="2"> <p><?php<br /> $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);<br /><br /> $rst = mysql_list_fields($DBNAME, 'testTable');<br /><br /> $fldCnt = mysql_num_fields($rst);<br /> for ($i = 0; $i < $fldCnt; $i++) {<br /> echo mysql_fields_name($rst, $i);<br /> }<br /> ?></p> </td> </tr></tbody></table><p> </p> <table width="593" cellspacing="1" cellpadding="1" border="0"><tbody><tr style="background-color:rgb(255,153,204);"><td colspan="2"><strong><font color="#FF0000">mysql_errno / mysql_error</font></strong>関数</td> </tr><tr><td style="background-color:rgb(204,255,204);">機能と返り値</td> <td> 発生したエラーについて、mysql_errno関数は「エラー番号」を返す。(エラーが発生しなければ[0]を返す)。mysql_errorは「エラーメッセージ」を返す</td> </tr><tr><td style="background-color:rgb(204,255,204);">引数</td> <td>mysql_connect関数で返された接続ID(省略可能)</td> </tr><tr><td colspan="2"> <p><?php<br /> $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD);<br /><br /> //実在しないデータベースに意図的に選択<br /> $selectDB = mysql_select_db('nothingDB', $con);<br /><br /> //エラー番号取得<br /> $errorNo = mysql_errno();<br /><br /> if ($errorNo != 0) {<br /> echo $errorNO;<br /> echo mysql_error();<br /> }<br /> ?></p> </td> </tr></tbody></table><p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <hr width="100%" size="2" /><hr width="100%" size="2" /><p> </p> <p> </p> <p> </p>