צפיות
תשובות
שימוש ב CHECKBOX להעברת מידע רב
הכנתי רשימת ניהול להכנס של נתונים לבסיס הנתונים, בדף הניהול יש לי רשימה
עם CHECKBOX ועוד CHECKBOX בניפרד מהשאר כשבלחיצה עליו הוא בוחר
את כל השאר ושולח את הנתונים לדף ASP שמקבל את הנתונים ומכניס לבסיס
הנתונים, הבעיה היא שהוא מכניס רק את הערך האחרון שמועבר אליו לדוגמא:
אם יש לי 23 CHECKBOX אז הוא מכניס רק את האחרון במספור שזה ה 23
ואת כל שאר המידע הוא לא מכניס ואין הודעת שגיא כלום. איך אני יכול להכניס מס
רב של נתונים במכה אחת.
אני מצרף לכאן את הקוד של דף ה ASP:
<%
dim c
dim s
dim r
dim mnpass
set c=server.createobject("adodb.connection")
set r=server.createobject("adodb.recordset")
s="provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & server.mappath("db/db.mdb") & ";"
c.open(s)
tbmn=request.form("tbr") 'table name
idnt=request.form("idbn") 'checkbox name
sql=tbmn&" WHERE id IN (" & idnt & ")"
r.Open sql, c, 3, 1, &H0002
numR=r.fields("numE")
numS=r.fields("numG")
c.execute "insert into deleted (numE,numG,tbnam) values('" & numR & "','" & numG & "','" & tbmn & "')"
r.close
set r=nothing
c.close
set c=nothing
response.redirect "emp.html"
%>
מודה מראש על העזרה.
8 תשובות
מה עם קצת קוד HTML
שנראה מה אתה מנסה לשלוח וכו'?
הינה קוד HTML
<html>
<head>
</head>
<body scroll="no">
<%
Dim servCon
Dim servUrl
Dim servRec
Dim cit
Dim tnm
Dim numM
Dim redN
Dim sql
set servCon=server.createobject("adodb.connection")
set servRec=server.createobject("ADODB.Recordset")
servUrl="provider=Microsoft.Jet.OLEDB.4.0;" &_
"data source=" & server.mappath("dbdb.mdb") &";"
servCon.Open(servUrl)
cit=Request.QueryString("serch")
tnm=Request.QueryString("tib")
sql=tnm &" where numE like '%"& cit &"%' order by dy DESC"
servRec.Open sql, servCon, 3, 1, &H0002
%>
<script>
function SelAll(val,grp)
{
for(var i=0;i<grp.length;i++)
grp[i].checked=val
}
</script>
<%
'Start building the table
response.write"<table cellpadding='0' cellspacing='1' border='0'>"
response.write"<tr>"
%>
<td colspan=5 height=15 bgcolor=gray style='font-size:11; font-family:Arial; text-align:center; color:#ffffff; cursor:default;'>
<b><%=cit%> חיפוש עבור </b>
<input type="checkbox" name="all" onClick="SelAll(this.checked,document.delfrm.idbn);document.delfrm.submit();document.location.reload();">
</td>
<form action="del.asp" method="post" name="delfrm" target="_blank">
<input type="hidden" name="tbr" value="<%=tnm%>">
</tr>
<%
response.write"<tr>"
response.write"<td colspan=5 bgcolor=#D5EAFF style='font-size:1; font-family:Arial; text-align:center; cursor:default;'>"
response.write"<div id='dvtb' style='width:450; height:215; overflow-x:hidden; overflow-y:auto; font-size:12; font-family:Arial; color:#000000; cursor:default; background:#F2F2F2; border:solid 1 gray;'>"
response.write"<table cellpadding='0' cellspacing='1' border='0'>"
If Not servRec.EOF Then
numM=servRec.fields("numE")
numN=servRec.fields("numE")
%>
<tr>
<td bgcolor=#D5EAFF onClick="this.style.background='red';" style='width:425; font-size:12; font-family:Arial; text-align:center; cursor:default;'>
<%=numM%> <%=numN%> <%=servRec.fields("dy") %>
</td>
<td bgcolor=#D5EAFF onClick="this.style.background='red';" style='width:20; font-size:12; font-family:Arial; text-align:center; cursor:default;'>
<input type="checkbox" name="idbn" value="<%=servRec.fields("id")%>">
</td>
</tr>
<%
servRec.MoveNext
End If
Next
response.write"</table>"
response.write"</div>"
response.write"</td>"
%>
</form>
<%
servRec.Close
Set servRec=Nothing
%>
</body>
</html>
לא לא לא…
קוד HTML… לא קוד ASP שמייצר אותו.
גלוש לטופס, תעשה View Source, ואת הקוד הזה תעלה לכאן.
וגם שם, עדיף שתעלה רק את החלק הרלוונטי, ולא את כל הקוד.
אין לנו עניין לראות מה ה Title של העמוד וכד'…
הקוד
<table cellpadding='0' cellspacing='1' border='0'><tr>
<td colspan=5 height=15 bgcolor=gray style='font-size:11; font-family:Arial; text-align:center; color:#ffffff; cursor:default;'>
<input type="checkbox" name="all" onClick="SelAll(this.checked,document.delfrm.idbn);document.delfrm.submit();document.location.reload();">
</td>
<form action="del.asp" method="post" name="delfrm" target="wshow">
<input type="hidden" name="tbr" value="sran4">
</tr>
<tr>
<td colspan=5 bgcolor=#D5EAFF style='font-size:1; font-family:Arial; text-align:center; cursor:default;'>
<div id='dvtb' style='width:450; height:215; overflow-x:hidden; overflow-y:auto; font-size:12; font-family:Arial; color:#000000; cursor:default; background:#F2F2F2; border:solid 1 gray;'><table cellpadding='0' cellspacing='1' border='0'>
<tr>
<td bgcolor=#D5EAFF onClick="this.style.background='red';" style='width:425; font-size:12; font-family:Arial; text-align:center; cursor:default;'>
1
</td>
<td bgcolor=#D5EAFF onClick="this.style.background='red';" style='width:20; font-size:12; font-family:Arial; text-align:center; cursor:default;'>
<input type="checkbox" name="idbn" value="736897">
</td>
</tr>
<tr>
<td bgcolor=#D5EAFF onClick="this.style.background='red';" style='width:425; font-size:12; font-family:Arial; text-align:center; cursor:default;'>
2
</td>
<td bgcolor=#D5EAFF onClick="this.style.background='red';" style='width:20; font-size:12; font-family:Arial; text-align:center; cursor:default;'>
<input type="checkbox" name="idbn" value="736843">
</td>
</tr>
<tr>
<td bgcolor=#D5EAFF onClick="this.style.background='red';" style='width:425; font-size:12; font-family:Arial; text-align:center; cursor:default;'>
3
</td>
<td bgcolor=#D5EAFF onClick="this.style.background='red';" style='width:20; font-size:12; font-family:Arial; text-align:center; cursor:default;'>
<input type="checkbox" name="idbn" value="736753">
</td>
</tr>
</div>
</td>
</form>
</tr>
</table>
אתה צריך לעשות
לולאה על כל העניין של הכנסת הנתונים לטבלה deleted כדי לעבור על כל הרשומות מהרקורדסט.
אפשר לקבל דוגמא
בערך משהו כזה
sql=tbmn&" WHERE id IN (" & idnt & ")"
r.Open sql, c, 3, 1, &H0002
Do While not r.EOF
numR=r.fields("numE")
numS=r.fields("numG")
c.execute "insert into deleted (numE,numG,tbnam) values('" & numR & "','" & numG & "','" & tbmn & "')"
r.MoveNext
Loop
r.close
תודה רבה על העזרה זה עבד