同じname属性の結果を1行にまとめる方法
いつもお世話になっている者です。フォームメールCGIで行き詰っております。
push(@DATA_KS,$name);
push(@DATA_VS,$value);
としてHTML側のname属性を@DATA_KSに、valueの値を@DATA_VSに代入しています。
<table border=0 cellpadding=3 cellspacing=1 bgcolor="#ffffff">
<tr><td bgcolor="#ff8000"><b><font size=+1>項目</font></b></td><td bgcolor="#ff8000"><b><font size=+1>内容</font></b></td></tr>
EOF
$count = @DATA_KS;
foreach (0..$count-1) {
print "<input type=hidden name=\"$DATA_KS[($_)]\" value=\"$DATA_VS[($_)]\">\n";
if ($DATA_VS[($_)] eq '') {}
else { print "<td bgcolor=\"#009900\">$DATA_KS[($_)]</td>\n"; }
if ($DATA_VS[($_)] eq '') {}
else { print "<td bgcolor=\"#ffffff\">$DATA_VS[($_)]</td>\n"; }
print "</td></tr>\n";
}
これで 項目 内容 が1セットで横並びになり項目の数だけ下に続き、値の無い項目は表示されない。というところまでは出来たのですが
さらに「name属性が同じ場合はvalueの値をカンマで区切ってヨコに並べる」ということがしたいのですが方法が分かりません。何卒宜しくお願いします。
例:
○(希望表示方法)
好きな食べ物 りんご,ハチミツ,カレー
×
好きな食べ物 りんご
好きな食べ物 ハチミツ
好きな食べ物 カレー
お礼
うまくいきました。私は配列とループは苦手なので大変勉強になりました。ありがとうございます。