セレクトフォームで選択した複数の値の挿入
こんにちは。
標題の通りセレクトフォームで複数の値を渡した時のテーブルへのInsertの方法について悩んでいます。
環境はPHP5.1.2、MYSQL5、Apache2です。
やりたいことはセレクトフォームで複数の値を選択した場合、カンマ区切りにしてひとつのフィールドに格納したいということです。
現在つまづいている部分は、カンマ区切りにした値をInsertする部分です。表示するだけならいいのですが、どうしても最後の値しかInsertできません。(ちなみに挿入する値は数値です。フィールドはカンマを入れるのでVarcharにしています)
下にソースを書きましたが、この書き方だと前の値が上書きされているためだということはわかるのですが、どうしても書き方がわかりません。
できれば
$value = $id['0'].",".$id['1'].",".$id['2']....;
というような形で挿入したいのです。(ほかに同等の形になるよい方法があればこの形にこだわりません)
へたな説明で申し訳ありませんがよろしくお願いします。
<<index.php>>
<form action="entry.php" method="post">
<select name="bugID[]" multiple>
<option value="id1" name="bugid">AA</option>
<option value="id2" name="bugid">BB</option>
<option value="id3" name="bugid">CC</option>
<option value="id4" name="bugid">DD</option>
</select>
<input type="submit" value="送信">
</form>
<<entry.php>>
if($_POST["bugID"]){
foreach($_POST["bugID"] as $value){
$bug_id = $value.",";
}
}
mysql_select_db($DB,$mysql) or die ("Entryデータベースの接続に失敗しました\n".mysql_error());
$query = "insert into ".entryTA." (bug_id)";
$query .= " values('{$bug_id}')";
mysql_query($query,$mysql);
補足
回答ありがとうございます。 えっとそれでいいのですが、そうではなくて name を読み込んでそれに対する value を拾い上げるようなプログラムです。 こちらが明示的に id=と書くのでなくて、、、