- ベストアンサー
年月情報から階層構造を作る方法について
- 年月の情報だけを基に、添付ファイルのような階層構造を作成することは可能でしょうか?
- http://www.makizou.com/archives/1662に記載されているpath情報を持たない既存のデータベースにおいて、年月の情報だけを利用して階層構造を実現する方法についてアドバイスをいただけませんか?
- http://okwave.jp/qa/q6405985.htmlでご教示いただいた方法は、年月の情報だけが利用できない場合には対応できないため、他の方法を模索しています。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 いくつか補足をお願いしたいです。 1.同じデータがある場合(id:1,2等) 2.月が空白の場合(id:7) 上記を無視した上で階層を作るだけなら年月のみでも出来ると思います。 (pear環境にて試したので取得やwhileの部分は環境に合わせて下さい) // 年月を正しい順序で取得 $sql = "select distinct year,month from sample_db order by CAST(year as signed),CAST(month as signed)"; $result = & $db -> query ( $sql ); $tmpYear = 0; while ( $row = & $result -> fetchRow(DB_FETCHMODE_ASSOC) ) { // 取得したデータ分のループ if ( $tmpYear != $row['year'] ) { // 前回処理した年と違う場合は年の処理 print $row['year'] . "年<br>"; } // 月の処理 print " ├" . $row['month'] . "月<br>"; // 処理した年を代入 $tmpYear = $row['year']; } =================出力結果 10年 ├3月 ├4月 11年 ├2月 ├10月 12年 ├月 ├3月 ├5月
その他の回答 (1)
- LancerVII
- ベストアンサー率51% (1060/2054)
こんにちは。 補足ありがとうございました。 1.同じデータは存在します。 2.月が空白の場合があります。 それと年が空白の場合もあります。 1.同じデータが存在する場合はどう扱いますか。 2.月または年が空白のデータはどう扱いますか。 どのような仕様でお考えでしょうか。 基本的にはNo.1にて回答したロジックに上記データの扱いを追加すればOKです。 例: 空白データは取得しない
お礼
ご回答ありがとうございます。 同じデータは1つにまとめ、空白は取得しないようにしたいと思います。 一度ご教示いただいたソースを参考に試させていただきたいと思います。 以上、よろしくお願いします。
補足
ご回答ありがとうございます。 依頼がありました補足ですが、下記となりますのでよろしくお願いします。 1. 同じデータは存在します。 2. 月が空白の場合があります。 それと年が空白の場合もあります。 以上、よろしくお願いします。