BoorgMedlem sedan okt. 2004409 inlägg Har ett problem... Får fram fel värde i en if sats
If Tot > Request.QueryString("k") Then
Se = "<A>Det är fullbokat</A>"
ElseIf Re("eID") = Request.QueryString("eID") And Re("mID") = Session("ED") then
Se = "<A Href='badmin.asp?b=2emre&eID=" & Re("ID") & "'>Anmäl dig</A>"
Else
Se = "<A>Du är redan anmäld</A>"
End If
Så som det ser ut nu får jag fram Värdet ur den sista Else raden. Men jag ska enligt hur värdena är få fram den mittersta...
är det något fel i denna koden eller.
Mvh Jesper
LarsGMedlem sedan dec. 200012 464 inlägg If clng(Tot) > clng(Request.QueryString("k")) Then
Se = "<A>Det är fullbokat</A>"
ElseIf Re("eID") = Request.QueryString("eID") And Re("mID") = Session("ED") then
Se = "<A Href='badmin.asp?b=2emre&eID=" & Re("ID") & "'>Anmäl dig</A>"
Else
Se = "<A>Du är redan anmäld</A>"
End If
BoorgMedlem sedan okt. 2004409 inlägg nej.. det hjälpte inte :/
Det är så här att den lever sitt egete liv.. ifall man bokar sig så är bokningsknappen kvar.. men efter en stund så kanske den försvinner... och ibland såt det inget...
kan ge hela koden...
Texter = "SELECT * FROM em_regg order by ID DESC"
Re.Open Texter, Con, 3, 3
Dim Se, Tot
Do Until Re.EOF
If Re.EOF Then
Exit Do
End If
If Re("eID") = Request.QueryString("eID") then
Tot = Tot + 1
End If
If clng(Tot) > clng(Request.QueryString("k")) Then
Se = "<A>Det är fullbokat</A>"
ElseIf Re("eID") = Request.QueryString("eID") And Re("mID") = Session("ED") then
Se = "<A>Du är redan anmäld</A>"
Else
Se = "<A Href='?b=2emre&eID=" & Request.QueryString("eID") & "'>Anmäl dig</A>"
End If
Re.MoveNext
Loop
<% =se %>
Någon som ser något problem
@ndersMedlem sedan juni 200032 969 inlägg Du måste se till att du alltid jämför med rätt subtyper. En sträng med innehållet 12 är inte samma sak som talet 12.
ElseIf Clng(Re("eID")) = Clng(Request.QueryString("eID")) And Clng(Re("mID")) = Clng(Session("ED")) then
Du får alltså se till att subtypskonvertera i alla dina jämförelser.
BoorgMedlem sedan okt. 2004409 inlägg Okej...
om man inte anger clng så blir det inget värde utan bara en siffra?
Men tror det eller ej.. det funkar inte ändå x(
Har testat o skriva ut all data samtidigt.. funkar perfekt.. får att dom värdena som ska vara för dom olika satserna men det funkar inte ändå..
Har bytt ut Se till Response.Write... tänkte det va det som hakade upp sig på något vis.. men icke..
@ndersMedlem sedan juni 200032 969 inlägg Hur ser koden ut nu då, när du lagt in dina subtypskonverteringar i alla jämförelser?
Okej...
om man inte anger clng så blir det inget värde utan bara en siffra?
Jag förstår inte riktigt vad du menar. Det är alltid ett värde, men inte ett värde av samma typ, om du inte ser till värdena är av samma typ.
BoorgMedlem sedan okt. 2004409 inlägg Jag förstår vad du menar...
Så ser den ut nu
<% Do Until Re.EOF
If Re.EOF Then
Exit Do
End If
If clng(Tot) > clng(Ree("Max")) Then
Response.Write "<A>Det är fullbokat</A>"
ElseIf Clng(Re("eID")) = clng(Request.QueryString("eID")) And Clng(Re("mID")) = Clng(Session("ED")) Then
Response.Write "<A>Du är redan anmäld</A>"
Else
Response.Write "<A Href='badmin.asp?b=2emre&eID=" & Re("ID") & "'>Anmäl dig</A>"
End If
Re.MoveNext
Loop %>
Det märkliga är ett jag får inte en enda av satserna att funkar.. inte ens den sista Else som borde funka i alla väder :/
@ndersMedlem sedan juni 200032 969 inlägg Och på vilket sätt fungerar det alltså inte nu? Vilka värden har fälten / variablerna nu när du testar?
jonneMedlem sedan jan. 20011 154 inlägg Skriv ut alla värdena först och se vad de innehåller innan du börjar jämföra så du verkligen vet att du har värden och rätt värden i alla variablar
BoorgMedlem sedan okt. 2004409 inlägg Hmmm konsigt...
nu händer det inget!
får inte fram ett enda värde när jag kör denna
<% Do Until Re.EOF
If Re.EOF Then
Exit Do
End If
Response.Write Tot & " Tot, " & Ree("Max") & " Max, " & Re("eID") & " eID, " & Re("mID") & " mID, " & Session("Ed") & " ED"
Re.MoveNext
Loop %>
:/
jonneMedlem sedan jan. 20011 154 inlägg Säker på att recordsetet innehåller något så du verkligen kommer in i loopen och inte kastas ut?
@ndersMedlem sedan juni 200032 969 inlägg Texte = "SELECT * FROM em order by ID = " & Request.QueryString("eID") & " "
Det var mig en konstig SQL-fråga. Ska det inte vara WHERE ID =... ?
BoorgMedlem sedan okt. 2004409 inlägg Ja dom värdena som jag hämtar finns...
men om dom inte finns.. så ska den juh köra en sista Else satsen? eller hur...
@ndersMedlem sedan juni 200032 969 inlägg
Boorg skrev:
men om dom inte finns.. så ska den juh köra en sista Else satsen? eller hur...
Nej, det ska den inte. Om du indenterar din kod ordentligt så ser du nog det. Dina if-satser ligger ju bara i loopen. Är recordsetet EOF så är du inte inne i loopen.
BoorgMedlem sedan okt. 2004409 inlägg @nders:
jo det kanske det skall vara...
men problemet finns fortfarande kvar..
funderar på om det finns något som blockar Loopen från att börja.. det är det enda jag kan komma på.. men ser inget ppoblem :/
BoorgMedlem sedan okt. 2004409 inlägg just det ja.. men det finns värden där... har lagt in två värden på två ID...
så jag tycker att den fortfarande borde skruva ut det i den Write grejjen jag gjorde...
@ndersMedlem sedan juni 200032 969 inlägg Du har ju redan gått igenom loopen en gång, vilket innebär att markören står sist, dvs EOF.
Du måste flytta upp den igen.
Re.MoveFirst
BoorgMedlem sedan okt. 2004409 inlägg Du menar att byta ut den mot movenext?
@ndersMedlem sedan juni 200032 969 inlägg Nej, innan du kör igång den andra Re-loopen måste du flytta upp markören med MoveFirst.
BoorgMedlem sedan okt. 2004409 inlägg okej...
men problemet kvarstår... Detta är grymt konstigt.. för det funkade igår från och till igår.. men som sagt den levde sitt eget liv...
nu är koden...
<% Do Until Re.EOF
If Re.EOF And Ree.EOF And Ra.EOF Then
Exit Do
End If
Response.Write Tot & " Tot, " & Ree("Max") & " Max, " & Re("eID") & " eID, " & Re("mID") & " mID, " & Ra("ID") & " ED"
Ra.MoveFirst
Re.MoveFirst
Ree.MoveFirst
Ra.MoveNext
Re.MoveNext
Ree.MoveNext
Loop %>