2012-03-07 16 views
0

私はmysqlテーブルからドロップダウンしようとしています。私はそれを成功裏に埋めることができます。しかし、フォームを送信した後にデータを取得しようとすると、選択した値を取得できません。誰かが私にこれを助けることができますか?PHPとmysqlの複数選択ドロップダウン

$authorDB=new AuthorDB(); 
$myArr =$authorDB->retrieveAuthors(); 
echo '<tr> 
<td rowspan="3"><div style="position: relative;">Author</div></td> 
<td> 
<select name="selAuthor" id="$selAuthor" multiple="multiple" size="3">'; 
foreach ($myArr as &$s_author) 
{ 
echo '<option value='.$s_author.'>'.$s_author.'</option>'; 
     } 
'</select> 
</td> 
</tr>' 

enter code here 

と提出後$a_SelectedAuthorsを設定しながら、フォーム

$a_SelectedAuthors[]=$_POST["selAuthor"]; 
$nAuthors = count($a_SelectedAuthors); 
echo '<h1> Count :'.$nAuthors.'</h1>'; 
for($i=0; $i < $nAuthors; $i++) 
{ 
    echo($a_SelectedAuthors[$i] . " "); 
} 
+0

詳細をお知らせください。 $ _POST ['selAuthor']は空ですか?はいの場合、フォームにGETメソッドを使用していないことを確認しましたか? – AsTeR

答えて

2

あなたは配列として複数の値を提出しているので、あなたは、name属性の値としてselAuthor []を使用する必要があります。

<select name="selAuthor[]" id="$selAuthor" multiple="multiple" size="3"> 
+0

それは動作していますが、私は 'xyz pqr'としてオプションを持っていれば、それはxyz.whyを与えるだけです? – user1247412

+0

あなたの価値の周りに引用符はありません。 '

+0

ありがとうございます。 – user1247412

1

を提出した後、ブラケットを取り外します

$a_SelectedAuthors[]=$_POST["selAuthor"]; 

を置き換えます

し、[選択]の名前属性にそれらを追加します。

<select name="selAuthor[]" id="$selAuthor" multiple="multiple" size="3"> 
+0

どちらも動作していません – user1247412

0

あなたのコードの残りの部分を確認します。それを印刷する必要があり何echoがありませんよう

をselectタグを閉じるライン</select> ...が印刷されないことがあります。上記の後にセミコロンがあります!

多分それはタイプミスです。

関連する問題