「よく使用する( foreach )文の説明」の編集履歴(バックアップ)一覧はこちら
「よく使用する( foreach )文の説明」(2009/01/07 (水) 19:00:23) の最新版変更点
追加された行は緑色になります。
削除された行は赤色になります。
<h3><a href="../../hitoshop/pages/38.html">よく使用する( foreach )文の説明</a></h3>
<p> </p>
<p><font color="#000080" size="4" style="background-color:rgb(255,204,153);">mysql操作関数</font></p>
<table cellspacing="1" cellpadding="1" border="0" width="593"><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 cellspacing="1" cellpadding="1" border="0" width="593"><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 cellspacing="1" cellpadding="1" border="0" width="593"><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 cellspacing="1" cellpadding="1" border="0" width="593"><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 cellspacing="1" cellpadding="1" border="0" width="593"><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 cellspacing="1" cellpadding="1" border="0" width="593"><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 cellspacing="1" cellpadding="1" border="0" width="593"><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 cellspacing="1" cellpadding="1" border="0" width="593"><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>
<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>
表示オプション
横に並べて表示:
変化行の前後のみ表示: