「よく使用する( 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>&lt;?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-&gt;template_dir = './templates/';<br />
$o_Smarty-&gt;comkpile_dir = './templates_c';<br /><br />
try {<br />
    $db = new PDO('mysql:dbname=testtable;host:localhost', 'root', '');<br />
    $db-&gt;setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);<br />
    $db-&gt;query('set names utf8');<br />
    $rs = $db-&gt;query('SELECT * FROM member');    <br />
    $o_Smarty-&gt;assign('data', $rs-&gt;fetchAll());<br /><br />
} catch(PDOException $e) {<br />
    print('エラーメッセージ' .  $e-&gt;getMessage());<br />
}<br /><br />
$o_Smarty-&gt;display('foreach_book.tpl');<br /><br /><br />
?&gt;</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>&lt;html&gt;<br />
&lt;head&gt;<br /><br />
&lt;title&gt;Foreach文&lt;/title&gt;<br /><br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
    &lt;table border="1"&gt;<br />
    &lt;tr&gt;<br />
       
&lt;th&gt;ID&lt;/th&gt;&lt;th&gt;menberID&lt;/th&gt;&lt;th&gt;mail&lt;/th&gt;&lt;th&gt;name&lt;/th&gt;<br />
    &lt;/tr&gt;<br />
    {foreach from=$data item="clm"}<br />
    &lt;tr bgcolor="{cycle values="FFffFF, FFff99"}"&gt;<br />
        &lt;td&gt;{$clm.id}&lt;/td&gt;<br />
        &lt;td&gt;{$clm.memberID}&lt;/td&gt;<br />
        &lt;td&gt;{$clm.mail|escape}&lt;/td&gt;<br />
        &lt;td&gt;{$clm.name|escape}&lt;/td&gt;<br />
    &lt;/tr&gt;<br />
    {/foreach}<br />
    &lt;/table&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;</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>&lt;?php<br />
    $rst = query(sql文);<br /><br />
    $fldCnt = mysql_num_fields($rst);<br />
    echo $fldCnt . 'のフィールド数があります';<br />
?&gt;</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>&lt;?php<br />
    $rst = query(sql文);<br /><br />
    $fldCnt = mysql_num_fileds($rst);<br />
    echo $fldCnt . 'のフィールド数があります';<br /><br />
    for ($i = 0; $i &lt; $fldCnt; $i++) {<br />
        echo mysql_filed_name($rst, $i) . '&lt;br /&gt;';<br />
    }<br />
?&gt;</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>&lt;?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 />
?&gt;</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>&lt;?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] . '&lt;br /&gt;';<br />
    }<br />
?&gt;</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>&lt;?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 &lt; $fldCnt; $i++) {<br />
         echo mysql_fields_name($rst, $i);<br />
    }<br />
?&gt;</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>&lt;?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 />
?&gt;</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>
記事メニュー
人気記事ランキング
目安箱バナー