ASP,Javascriptチェックボックス値格納
仕事で、急に予約システムの変更を求められていて困っています。
今までラジオボタンで1つしか選択出来なかったものを、チェックボックスで複数選択可能にしたいのですが、複数値を取得後のDBへの格納が上手く出来ません。明日行って、使えるようにしないといけないのですが、知識がないもので、色々なヒントも自分の場合への応用ということが出来ず焦りだけがつのっています・・・皆様にヘルプ頂けるとありがたいです。。
【実行したいこと】DBから一覧を読み込んで表示。同時にチェックボックスを作成。
10件のチェックボックスの値<s_id>(と申込者名等)を、DBのyoyakuテーブルに格納。
(yoyakuテーブルに用意しているs_id1~s_id10に格納。チェックなしの場合も空欄、もしくは0等チェックなしであることがわかる値を格納)
※文字数の関係上、関係があると思われる部分のみ抜粋。
☆入力画面
<%
'『data.mdb』のクエリ(Q_total)により申込が終了している場合にラジオボタンを見えなくするスクリプト
Dim Conn, rs, SQL
Dim db, DBName
db = Server.MapPath("data.mdb")
DBName = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open DBName
SQL = "SELECT * FROM Q_total_ninkitsuki"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open SQL, Conn,3,3
Do While Not rs.EOF
%>
<%If rs.Fields("flg") = 1 Or rs.Fields("simekiribi") =< rs.Fields("loadtime")Then %>
<tr>
<td>
<span class="red">終了</span>
<input type="checkbox" name="T6" id="T6" value="<%=rs.Fields("s_id")%" disabled /></td>
<td colspan="1"><%=rs.Fields("s_id")%></td>
<td colspan="2"><%=rs.Fields("date")%></td>
<td colspan="2"><%=rs.Fields("s_id_count")%></td>
</tr>
<%Else %>
<tr>
<td>
<input type="checkbox" name="T6" id="T6" value="<%=rs.Fields("s_id")%>" /> </td>
<td colspan="1"><%=rs.Fields("s_id")%></td>
<td colspan="2"><%=rs.Fields("date")%></td>
<td colspan="2"><%=rs.Fields("s_id_count")%></td>
</tr>
<%End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Conn.Close
Set Conn = Nothing
%>
☆データが送られる側のページ
<%
moshikomi = Request.Form("apply")
busitu = Request.Form("busitu")
f_syokuban = Request.Form("syokuban")
f_name = Request.Form("f_name")
ipcheck = Request.ServerVariables("REMOTE_ADDR")
torokuday = Request.Form("S12")
mail = Request.Form("mail")
yakushoku = Request.Form("yakushoku")
radio = Request.Form("T6")
f_date = split(radio,",")
s_id = f_date(0)
s_id1 = f_date(1)
s_id2 = f_date(2)
s_id3 = f_date(3)
s_id4 = f_date(4)
s_id5 = f_date(5)
s_id6 = f_date(6)
s_id7 = f_date(7)
s_id8 = f_date(8)
s_id9 = f_date(9)
s_id10 = f_date(10)
%>
dim SLIST,RSB,SLIST1,RSB1,KDB
db1=server.mappath("data.mdb")
DBName="Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & db1
Set KDB = Server.CreateObject("ADODB.Connection")
KDB.open DBName
SLIST = "SELECT * FROM yoyaku"
Set RSB = Server.CreateObject("ADODB.Recordset")
RSB.Open SLIST, KDB,3,3
rsb.AddNew
rsb("moshikomi") = moshikomi
rsb("busitu") = busitu
rsb("syokuban") = f_syokuban
rsb("name") = f_name
rsb("mail") = mail
rsb("torokuday") = now()
rsb("ipaddress") = Request.ServerVariables("REMOTE_ADDR")
rsb("s_id") = s_id
rsb("s_id1") = s_id1
rsb("s_id2") = s_id2
rsb("s_id3") = s_id3
rsb("s_id4") = s_id4
rsb("s_id5") = s_id5
rsb("s_id6") = s_id6
rsb("s_id7") = s_id7
rsb("s_id8") = s_id8
rsb("s_id9") = s_id9
rsb("s_id10") = s_id10
rsb("yakushoku") = yakushoku
rsb.UpDate
RSB.close
Set RSB = Nothing
KDB.close
Set KDB = Nothing
%>
☆データを入れるアクセスの設定
ID オートナンバー型
moshikomi テキスト型
s_id テキスト型
s_id1 テキスト型
s_id2 テキスト型
s_id3 テキスト型
s_id4 テキスト型
s_id5 テキスト型
s_id6 テキスト型
s_id7 テキスト型
s_id8 テキスト型
s_id9 テキスト型
s_id10 テキスト型
syokuban テキスト型
busitu テキスト型
yakushoku テキスト型
name テキスト型
mail テキスト型
torokuday テキスト型
renraku テキスト型
お礼
>変数への代入は、value=RS("db1_id") >の様に記述するはずです。 参考にさせて頂きます。ありがとうございました。
補足
埋め込みSQLをご存知でしょうか?正常に実行できますが。 ちなみに >単純に、「insert id,password,date,name」が じゃなくて「into」ですが。 とりあえずVBの世界では関係のない要素なのかもしれません。 (VB歴1ヶ月なのでそこのところはよくわからない)