• 締切済み

データベースと連動したツリー表示

http://oshiete.nikkeibp.co.jp/kotaeru.php3?q=2674848 会社の組織図を作成したいと考えております。 データベース(PostgreSql)の部門マスタを元に、会社組織図をツリー状に表示したいのです。 データベース構造は '100';'会社';'101';'経営企画';'';'';'';'';'';'' '100';'会社';'102';'事業統括';'';'';'';'';'';'' '100';'会社';'200';'A本部';'';'';'';'';'';'' '100';'会社';'201';'B本部';'301';'事業管理部';'';'';'';'' '100';'会社';'201';'B本部';'302';'企画部';'';'';'';'' '100';'会社';'201';'B本部';'303';'総務部';'401';'人事課';'';'' '100';'会社';'201';'B本部';'303';'総務部';'402';'総務課';'';'' 上記データを下記のイメージにしたいのです。 (見にくいですが・・・) http://www.geocities.jp/cayanon/sample1.bmp 色々と試してみましたが、 適用できるものがなかったので・・・ よろしくお願いします。

みんなの回答

  • owen10
  • ベストアンサー率0% (0/0)
回答No.3

データベースがPostgreSQLであれば、参考URLにあるconnectbyを 使えば、階層構造をSQL文を1本で取得可能だと思います。 ただし、connectbyは標準では使用できないようなので、 ファンクションの登録が必要なようです。 詳しくは参考URLを見てください。

参考URL:
http://www.thinkit.co.jp/cert/marugoto/2/1/23/2.htm
javaphp
質問者

お礼

ありがとうございます。 とても参考になります。

回答No.2

何をアドバイスすればいいのか、この質問からは判断できないのですが? >データベース構造は 重複する情報が多数あり、テーブルの検索結果のような内容になっていますが? 普通に考えれば、 部門マスタ(部門コード、部門名、上位部門コード) という構成でいいと思います。 最上位の部門には、「上位部門コード」としてnullを入れれば階層を辿れます。 【最上位のデータ検索】 select * from 部門マスタ where 部門名=? ←会社名など and 上位部門コード is null; 2階層目以降は、上位の階層の検索で得た部門コードを利用して検索して行くことになります。 【2階層目以降】 select * from 部門マスタ where 上位部門コード=? ←上位階層で得た部門コード order by 部門コード; SQLを知りたいのか、特定の言語でSQLを発行する方法が知りたいのかといったことが触れられていないので、何を回答すればいいのでしょうか?

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.1

データベースの構造がおかしいような気がします。 「部門コード、部門名、すぐ上の部門コード、最上位部門フラグ」 このようになるのではないでしょうか。 あとはプログラムの世界なので、ここでいうのもあれですが、 1階層目:  最上位部門フラグがtrueのものを取得  部門名を1階層目として表示  部門コードを一覧として取得(1) 2階層目:  (1)で取得した部門コード一覧がすぐ上の部門コードとなる部門を取得  部門名を2階層目として表示  部門コードを一覧として取得(2) 3階層目:  (2)で取得した部門コードがすぐ上の部門コードとなる部門を取得  部門名を3階層目として表示   :   :  (以下同じ、4階層目・5階層目と続く)  

javaphp
質問者

補足

すみません、言葉足らずで・・・ データベース構造は 部門マスタ(部門コード、部門名、上位部門コード) 101,経営企画,null 102,事業統括,null 200,A本部,null 201,B本部,null 301,事業管理部,200 302,企画部,200 303,総務部,200 401,人事課,303 402,総務課,303 だとして、下記ツリーソースにPHPを使って当てはめたい。 Javascriptにてツリー状にするソース ▼<A href="javaScript:tree('b_100')">会社</A><BR> <DIV id='b_100' style='display:none'> -<A href='b_101'>経営企画</A><BR> -<A href='b_102'>事業統括</A><BR> ▼<A href="javaScript:tree('b_201')">A本部</A><BR> <DIV id='b_201' style='display:none'>  -<A href='b_301'>事業管理部</A><BR>  -<A href='b_302'>企画部</A><BR>  ▼<A href="javaScript:tree('b_303')">総務部</A><BR> <DIV id='b_303' style='display:none'>   -<A href='b_401'>総務課</A><BR>   -<A href='b_402'>人事課</A><BR> </DIV> </DIV> ▼<A href="javaScript:tree('b_200')">B本部</A><BR> </DIV> <SCRIPT language='JavaScript'> <!-- function tree(LinkName) { ls = document.all[LinkName].style; if(ls.display == 'none') { ls.display = 'block' } else { ls.display = 'none' } } //--> </SCRIPT> データベース構造やjavascriptのソースをどのように書けばいいのか アドバイスをお願いします。

関連するQ&A

  • データベースと連動したツリー表示

    会社の組織図を作成したいと考えております。 データベース(PostgreSql)の部門マスタを元に、会社組織図をツリー状に表示したいのです。 データベース構造は ・部門NO ・部門名 ・上位部門NO で構成します。 例: ・部門NO 100 ・部門名 総務部 ・上位部門NO null ・部門NO 110 ・部門名 総務課 ・上位部門NO 100 ・部門NO 120 ・部門名 人事課 ・上位部門NO 100 上記のような総務部(親)総務課(子)人事課(子)とした組織をツリー状に表示したいのです。 イメージサンプル(見にくいですが・・・) http://www.geocities.jp/cayanon/tree.bmp いろいろなライブラリを探しましたが、 適用できるものがなかったので・・・ よろしくお願いします。

  • ツリー形式リストについて

    前回にも似たような質問をしています。 Excelの入力規制でリストをツリー形式にしたいのですが、例えば、課名「総務課」「人事課」「企画課」というリストがあり、その中の「総務課」をクリックすると「Aプロジェクト」「Bプロジェクト」「Cプロジェクトがでて、「Aプロジェクト」を選ぶと「創造部」「実行部」が出てくる。このような3段式のリストは作れました。今回行き詰っているのはリストの2段目(つまりプロジェクト名のリスト)の選択項目が、総務課、人事課、企画課すべて同じの場合です。3つとも選択項目が同じな為、1つの課の分しかリストに反映されませんでした。どうすればよいのか困っています。

  • 新部署の名称を決めたい

    小さな会社なのですが、今後の体制作りのために 部署を設けることになりました。 どんな名称が適切か、案をいただきたいのです。 組織構成としては、 会社の「本部」の下に  「○○店」「○店」「通販事業部(仮名)」「総務部」の4つがあります。 この度、人事異動の関係で 「○店」「○○店」「通販事業部」を統括で みる長を一人つけることになりました。 この場合 辞令の肩書きで 「~~部長」としたいのですが そうなると「○店」「○○店」「通販事業部」を 統括して一つの部署とするのが良いのでは ないかと思い、どんな名称の部署が 良いのだろうと 悩んでいます。 つまり、 「本部」の下に 「~~部」「総務部」 の二部が横並びで存在して、 「~~部」の下に「○店」「○○店」「通販事業部」 が、存在することになる ということです。 部の下にまた部があるのは 変でしょうか? 通販もショップの一つという考えなので 通販事業部というのは仮称です。 いずれは独立した部署にしたいのですが、 いまのところは、この形でいこうかと 思っています。 そこで、この3店舗を含めた部署の名称は 何が適切でしょうか・・ それから 店舗の長を2人ずつ選任するのですが 店舗内の商品/設備/ディスプレイなどの管理を 主に担う人と 店舗の金銭や人事など運営面を主に担う人を 同等の地位につけたいのですが どのような肩書きが 良いとおもわれますか? 皆様の案をお聞かせください。 宜しくお願いします。

  • 自分の担当分野の仕事機能を独立させて、新しい別の課を作りたい

    私は、いま、会社である課の一員ですが、自分の担当分野の機能を独立させて、新しい別の課を作り、統括課長になりたいと思っています。 理由は、今の統括課長は、自分の担当分野の仕事に全く知識もなく、私に丸投げをしているだけで、全くマネージメントする能力もないし、実務能力や責任能力もないのです。 また、今の統括課長は、自分の仕事の価値がわからないので、給与を決める私の評価もいつも低いのです。 それならば、自分で責任をもって、仕事をしたいと思っているので、新しい課を作り、統括課長になりたいと思っています。 そこで、人事部か、上の部長とかに、どのように説得すればいいか教えてください。 また、そもそも、会社の組織は ○部 ○課とか、課単位で構成されていますが、ある組織機能を独立した別の課にする意義とは何でしょうか?

  • 部署名が変わった場合の職務経歴書の書き方

    こんにちは。職務経歴書には、自分が配属されている(された)部署名を書くと思うのですが、私のケースではどのように記述するべきか分からないので、質問させてください。 これまでの経緯は以下の通りです。 1.A本部へ、異動により配属(本部への配属だったため、部門名等はなし) 2.組織改編により、A本部から分家したB本部XX部へ配属となる。(A本部へ異動後1か月) 3.組織改編により、A本部××部●●課となる。(B本部をA本部が吸収合併) 4.A本部△△部●●課へ名称変更。 本部名も部門名も名称がやたらと長い為、全ての変更を羅列すると3行ぐらいになって、くどいと思うので、 「A本部へ配属(組織改編により、B本部XX部へ配属後、現在はA本部△△部●●課へ配属)」 もしくは 「A本部へ配属(複数回の組織改編等を経て、現在はA本部△△部●●課へ配属)」 のような書き方にしようと思っているのですが、問題ないでしょうか?他にもっと良い書き方はありますか?仕事内容も周りのメンバーもほとんど変わっておらず、所属組織だけが変わったような感じです。 ちなみに、最初部門配属ではなかったのは、1か月後の組織改編でB本部へ配属されることが決まっていたからです。更に、前の部署の引き継ぎで、この期間はほとんど前の部署にいたため、A本部の仕事はほぼ何もしていないので、最初からB本部XX部と書いてしまったほうがいいのか、とも考えています。しかしながらB本部が誕生したのはA本部へ異動した翌月なので、これでは経歴詐称になってしまうでしょうか。私が細かいことを気にしすぎなだけでしょうか。 部署名の名称変更を経験してから、職務履歴書を書くのはこれが初めてで、いろいろ調べましたが、私のケースに当てはまりそうな事例が見つかりませんでした。どなたかご教示をお願い致します。

  • 会社組織の「部」とは

    当社は従業員60名規模の会社で、 創立間もない為社内において部とか課が存在しません。 そこで、「営業」と「総務」で組織を分け 「営業部」、「総務部」を創設しようと考えております。 その際「総務」に属するのは2名ほどになりそうです。 そこで質問なのですが、 2名しかおりませんが、 組織を総務「部」とすることに対し、 なにか法律等で縛りは無いのでしょうか? (たとえば何名以上でなければ「部」とすることはできず 「課」でなければならないとか) よろしくお願いします。

  • エクセルの関数で同時に2つの操作を命令する方法

    たとえば、ABC会社総務部企画課という文字列があったとして、企画課を管理課に変え、かつ、ABCをXYZに変えるという操作を命令できる関数はあるのでしょうか? ご回答よろしくお願いいたします。

  • パワハラの逆ってあるんですか?

    私の友人の会社の製造課係長(男性)が、専務(女性)に「組織図では専務と私は繋がっていないから、あなたは私の上司じゃない!」と言っていたそうです。そして、私の友人にも「君は総務課で私とは組織図で繋がれていないから私の部下じゃない!」 と言われびっくりしたそうです。 組織図上線で繋がれていなくても、上司は上司だと思います。 セクハラとかパワハラは良く聞きますが、パワハラの逆ってあるんですか?

  • 複数の事業所の統括方法

    介護事業に従事する者です。 近年、事業拡大により10程度の事業所規模になりました。 ただ、どうもその統括が上手くできておらず、それぞれの事業所がそれぞれに頑張っているという状況です(総務、会計部門は本部統括)。 例えば、運営方法(プログラムメニュー、営業の対策など)についても、それぞれの事業所ごとに検討を行っております。 これでは、無駄があるのかなあと感じます。 統括事業部があるのですが、それ程深入りすることなく、調整役的な役割です。 勿論、あまり統括事業所が音頭を取り過ぎて、各事業所の個性が出ないのもよろしくないかと思いますが、もう少しリーダーシップを取っていくべきではないかと思うのです。 そこで、トヨタやソニーなどなど、一般的に一流企業と言われる企業は、複数の事業所の統括をどのように行っているのでしょうか? 個人的には、ウチについて、統括事業部が、ある程度の強制力を持って指導・指示をして行くスタイルが良いのではないかと思うのです。 (業績を伸ばし、各事業所の職員も納得することのできる最適な方法を提案できる事が大前提ですが、そういった人材がいるかどうか・・・) 今後も、少しずつ規模拡大の可能性もありますし、現在のスタイルで進んでいく事に危機感を感じております。 上記のような内容について、情報やアドバイスを頂ければ幸いです。 よろしくお願いします。

  • 「企画部広報課長」の英語表記は?

    組織改正で組織・役職名が変更になり名刺を作り変えることになりました。「企画部広報課長」となったのですが、「広報課長」とは英語でどう言えばよいのでしょうか? どなたかお知恵をお貸しください。企画部はPlannning Dpt.と決まっています。