2013年12月2日月曜日

[MySQL]、[php] 分類のindex管理(3)

引き続き分類を文字列からindex管理に変更する過程です。
【関連する記事】
[MySQL]、[php] 分類のindex管理(1)
[MySQL]、[php] 分類のindex管理(2)

前回は、DBの追加と変更について書きました。

今回は実際にデータを取得してhtmlに表示する部分です

データベースの素晴らしい機能であるリレーションを使います。

初めて使った時は感動でした。form部分にセレクトタグを使って表示します。

<?php 
$sql=sprintf('SELECT * FROM pay_specifications
 ORDER BY ID ASC',
 mysql_real_escape_string($_SESSION['user_id'])
);
$result = mysql_query($sql) or die(mysql_error());

$record=NULL;
while ($row = mysql_fetch_assoc($result)) {
 $record[] = $row;
}
?>

<select  name="pay_specification_id">

<?php 
for ($i=0,$count_record=count($record); $i<$count_record; $i++){
 print('<option value="'.h($record[$i]['id']).'">'.h($record[$i]['name']).'</option>');
}
?>

</select>


書いてあるコードの内容

2~11行目

支払分類テーブルからデータを取り出して$recordに格納する。
     SQL文生成ークエリ発行ーフェッチして各行を格納

18~19行目

selectタグで挟まれた部分のoptionに先ほどデータを格納した$recordを使って値を入れる。
postする値にpay_specifications.idを、htmlで表示される値にpay_specifications.nameを指定

<option value=1>食費</option>');
<option value=2>交際費</option>');
<option value=3>その他</option>');
のようにデータベースに登録されている値が出力されます。

次回

共通して表示される分類項目とユーザー独自で設定する分類項目をどうやって管理し、表示するようにしたかを紹介していきます。


0 件のコメント:

コメントを投稿