[PHP-users 29664] Re: PEAR HTML_QuickForm プルダウンメニューの連動について教えてください。

TAKAGI Masahiro matakagi @ osk2.3web.ne.jp
2006年 7月 8日 (土) 22:26:24 JST


高木です。

At Sat, 8 Jul 2006 18:01:49 +0900,
Hiyori Kikuchi wrote:
> 
> $depart1=$shozoku_array;
> $depart2=array($shozoku1_array,$shozoku2_array,$shozoku3_array,$shozoku4_arr
> ay);
> $depart=$form->addElement("hierselect","shozoku_name","所属/担当者:");
> $depart->setOptions(array($depart1, $depart2));
> 
> とした場合
> 
> $depart1(一階層目のテーブル)は、プルダウンメニューに値が表示されています。
> $depart2(二階層目のテーブル)は、連動どころか空のプルダウンメニューとなって
> います。。。
> 
ってことは「おそらく $depart2 の内容がまずいのかな?」と予想できますね。
というわけで、

> print_rで配列の内容を表示したところ、
> 
いい考えだと思います。ここまでできれば、あと一歩です。

> ○($depart1)
> Array ( [01] => 本社 [02] => 営業所A [03] => 営業所B [04] => 営業所C )
> 
> ○($depart2)
> Array ( [0] => Array ( [1001] => 鈴木 [1002] => 斉藤 [1003] => 佐藤 )
>  [1] => Array ( [2001] => 宮良 [2002] => 白保 [2003] => 宮里 )
> 
> -このような感じで [3] => Array まで続きます-
> 
ぱっと見た感じでは何も問題はなさそうですが、本当にこれで大丈夫ですか?
 http://pear.php.net/manual/ja/package.html.html-quickform.html-quickform-hierselect.setoptions.php
を見て、setoptions() に渡す配列の形式を確認してみましょう。特に、2番
目の配列のキーがどうなっているかに注目です。$depart2 のキーは、このペー
ジの例と同じようになっていますか?

で、何が問題なのかがわかれば、次は正しい形式の配列を作る方法を調べなけ
ればなりませんね。キーを指定して配列を作る方法は、
 http://www.php.net/manual/ja/function.array.php
の例で説明されているようです。

-- 
高木 正弘 mailto:matakagi @ osk2.3web.ne.jp


PHP-users メーリングリストの案内