webForumDet fria alternativet

checkbox, hämta lagrat värde fr. db

ASP

8 svar · 252 visningar · startad av Percy

Medlem sedan mars 2000187 inlägg
Frågan#1

Hej!
Gör en sak i skolan där man som student ska kunna boka in samtal med olika företag. Har då en lista med alla företagen och en checkbox bredvid varje. Har lyckats med att kunna lagra dessa i min tabell med följande kod:

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\databas.mdb"

arrCompanies = Split(Request.form("company"), ",")

For i = 0 to Ubound(arrCompanies)
SQLStmt = "INSERT INTO interested_in ([company_id], [student_id]) VALUES (" & arrCompanies(i) & ", " & Request.Form("student_id") & ")"
Connection.Execute(SQLStmt)
Next
%>

Men hur sr koden ut för att hämta in lagrade värden dvs ha checkade boxar på de företag man bokat in sig på? Undrar dessutom hur man gör för att ta bort de inbokningar från databasen som man väljer att avmarkera? hur löser man allt detta i en fil?

ett stort tack!

ps. i tabellen interested_in har jag två fält som heter company_id och student_id ds.

/Pierre

Medlem sedan dec. 200012 464 inlägg
#2

Lägga ut

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\databas.mdb"
sql = "select iif(student_id is null,'',' CHECKED') as checked,c.company_id,c.company from companies c left outer join interested_in i on c.company_id = i.company_id and student_id = " & request.form("student_id")

set rs = connection.execute(sql)
while not rs.eof
response.write rs("company") & " <input type='checkbox' name='company' value='" & rs("company_id") & "'" & rs("checked") & ">"
rs.movenext
wend
rs.close
connection.close
response.write "<input type='hidden' name='student_id' value='" & requst.form("student_id") &"'>"

För att ta bort

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\databas.mdb"

sql = "delete from interested_in where company_id not in (" & request.form("company") & ") and student_id = " & request.form("student_id")

red: hade fel ordning mellan left och outer.
------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 06 dec 2001]

Medlem sedan mars 2000187 inlägg
#3

alltså, jag får det inte att fungera!
ditt kodex. är inte det gjort för ett fält true/false? jag har alltså en kopplingstabell med fälten company_id och student_id. Vill då att alla poster som ex. student med id nr 1 hämtas och att de företag med dessa idn får sina boxar checkade! är du med då?

Medlem sedan dec. 200012 464 inlägg
#4

Jo, det är så jag trodde att det var.

Dvs du har tre tabeller

companies
---------
company_id!company

interested_in
--------------
company_id!student_id

students
--------
student_id!student_name

Jag råkade skriva ett fel i min select-sats ovan (outer left istf left outer).

Vad får du för problem/fel med den kod jag skrev (efter ovanstående rättning)?

------------------
essentitia preter non sans multiplicandum

Medlem sedan mars 2000187 inlägg
#5

får syntax error in from clause!
ska det verkligen stå iif i början?
jag ändrade lite på satsen, korrigera gärna utifrån denna om det går!

<%
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\databas.mdb"
SQLstmt = "SELECT if(student_id is null,'',' CHECKED') AS checked,company.company_id,company.company FROM Company c outer left join interested_in i on c.company_id = 1.company_id and student_id = " & Request.Form("student_id") & ""

Set rs = Connection.Execute(SQLStmt)
While not rs.eof
Response.Write rs("company") & " <input type='checkbox' name'company' value='" & rs("company_id") &"'" & rs("checked") & ">"
rs.MoveNext
Wend
rs.Close
Connection.Close
Response.Write "<input type='hidden' name='student_id' value='" & Request.Form("student_id") & "'>"
%>

ps. mina tabeller heter company, student och interested_in

Medlem sedan mars 2000187 inlägg
#6

Nu när jag har denna sql-fråga så säger den:
Syntax error (missing operator) in query expression ''

SQLstmt = "SELECT if(student_id is null,'',' CHECKED') AS checked,c.company_id,c.company FROM Company c left outer join interested_in i on c.company_id = i.company_id and student_id = " & Request.Form("student_id") & ""

någon som har någon bra lösning?

tack på förhand!

Medlem sedan juni 200032 967 inlägg
#7

Hade du inte student_id lagrat i en session?

Byt i så fall ut Request.form("student_id") mot session("student_id") eller vad den nu heter.

Mvh,

------------------
Don't panic!

Medlem sedan mars 2000187 inlägg
#8

Njae, ska ha det då jag lyckats få inloggningen mot skolan att funka, men inte nu!

Medlem sedan mars 2000187 inlägg
#9

provade att byta ut sista delen dvs Requesten mot en konstant i detta fallet 1. Men då säger den:
Join expression not supported.
was soll ich tun?
hilfe!

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)