2013年11月29日金曜日

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

[MySQL]、[php] 支払と収入の分類項目をデータベースで管理する


2013/11/25の更新によって追加した機能についてどのように実装していったか書き残しておこうと思います。

今回の変更点

・収入と支払の分類項目をindex管理する。(php、DB設計)
・全ユーザー共通の分類項目を用意。(DB設計)
・ユーザーが独自に設定した項目は他のユーザーには表示されない(DB設計)
・ユーザーが独自に設定した項目を設定するページ作成。(php)
・ユーザー独自の分類項目を「使わない」設定にした後も支出・支払一覧には表示させる。(DB設計)

項目としてはDB設計の変更がメインですね。新しい設定ページが必要だったので時間がかかったのは結局phpのコーディングですが。

改造の動機・問題点

これまでのページでは分類を下のように書いていました。

<select  name="type" id="type" >
<?php 
$bunrui_array = array("交通費","食費","消耗品","交際費","サークル","研究室","その他");
for ($i=0; $i<count($bunrui_array); $i++){
 print('<option value="'.$bunrui_array[$i].'">'.$bunrui_array[$i].'</option>');
}
?>
</select>

この問題点は、2つ

  1.  文字列で格納しているので拡張させづらい
  2.  全ユーザーが作成者の指定した分類項目でしか分類できない 

index管理は口座の設定をできるようにした部分で一度実装しているので、それを応用して行います。んで作る途中で気づいたことは、

  • ユーザーが独自の分類項目を削除したときどんな挙動をさせたら良いのか? 
  • データベースから削除してしまっては今までのデータを見るときに表示されないので困る。 

となるとデータベース上には保存しておく必要があるなと、フラグで管理するのが適切ということになりました。 そんなこんなで最初に書いたリストにあるように開発していくのですが、内容は次の記事に

次の記事

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



0 件のコメント:

コメントを投稿