webForumDet fria alternativet
Logga in / Bli medlem

Seeeg! Optimera plz?

ASP

6 svar · 298 visningar · startad av Ceeron

Medlem sedan aug. 2000378 inlägg
Trådstart#1

Detta känns jävligt onödigt... Hur ska jag göra det bättre?
Lixom skriva ut samma sak i princip 3 gånger...

	sql="select anv.anv, kommentarer.*, status.* from anv, kommentarer, status where kommentarer.anvID = " &intID& " and kommentarer.bildID=0 and kommentarer.festID=0 and kommentarer.borttaget = False and anv.anvID = kommentarer.avID and anv.status = status.ikonID order by datum desc"
	Set objRS = objConnect.Execute(sql)
	If objRS.EoF Then
		Write "<tr><td colspan=""2"" align=""center"">Tyvärr finns det inga gästboksinlägg här ännu... mohaha!</td></tr>"

	While Not objRS.EoF
		intRaknare = intRaknare + 1
		strFarg = "#dae8ef"
		If Not objRS("privat") = True Then
		If objRS("privat") = True Then strFarg = "#ffcccc"
		Write "<tr ><td style=""border: 1px #ffffff solid; padding: 3px; background-color: " &strFarg& ";"" nowrap=""nowrap"" rowspan=""2"" align=""center"" valign=""top""><a href=""alkisarna.asp?anv=" &objRS("anv")& """><img src=""inc_ikoner/" &objRS("ikon_fil")& """ border=""0"" alt=""" &objRS("ikon_namn")& """ /><br />" &objRS("anv")& "</a></td><td style=""border: 1px #ffffff solid; padding: 1px; background-color: " &strFarg& ";"" valign=""top"">#" &intRaknare& " " &FormatDateTime(objRS("datum"),2)& " - " &FormatDateTime(plush(objRS("datum")),4)& " - <a href=""gb.asp?ID=" &objRS("avID")& """>Svara</a>"
		If CInt(Session("ID")) = CInt(objRS("avID")) or CInt(Session("ID")) = intID Then 
			Write " - <a href=""gb.asp?a=del&ID=" &intID& "&gbID=" &objRS("kommentarID")& """ onClick=""return confirm('Säker på att du vill ta bort kommentaren?')"">X</a>"
		End If
		Write "</td></tr><tr><td valign=""top"" style=""border: 1px #ffffff solid; padding: 3px;"">"
		delaText(objRS("kommentar"))
		Write "</td></tr>"
		ElseIf objRS("privat") = True and CInt(Session("ID")) = CInt(intID) or CInt(Session("ID")) = CInt(objRS("avID")) Then 
		If objRS("privat") = True Then strFarg = "#ffcccc"
		Write "<tr ><td style=""border: 1px #ffffff solid; padding: 3px; background-color: " &strFarg& ";"" nowrap=""nowrap"" rowspan=""2"" align=""center"" valign=""top""><a href=""alkisarna.asp?anv=" &objRS("anv")& """><img src=""inc_ikoner/" &objRS("ikon_fil")& """ border=""0"" alt=""" &objRS("ikon_namn")& """ /><br />" &objRS("anv")& "</a></td><td style=""border: 1px #ffffff solid; padding: 1px; background-color: " &strFarg& ";"" valign=""top"">#" &intRaknare& " " &FormatDateTime(objRS("datum"),2)& " - " &FormatDateTime(plush(objRS("datum")),4)& " - <a href=""gb.asp?ID=" &objRS("avID")& """>Svara</a>"
		If CInt(Session("ID")) = CInt(objRS("avID")) or CInt(Session("ID")) = intID Then 
			Write " - <a href=""gb.asp?a=del&ID=" &intID& "&gbID=" &objRS("kommentarID")& """ onClick=""return confirm('Säker på att du vill ta bort kommentaren?')"">X</a>"
		End If
		Write "</td></tr><tr><td valign=""top"" style=""border: 1px #ffffff solid; padding: 3px;"">"
		delaText(objRS("kommentar"))
		Write "</td></tr>"
		Else
		If objRS("privat") = True Then strFarg = "#ffcccc"
		Write "<tr ><td style=""border: 1px #ffffff solid; padding: 3px; background-color: " &strFarg& ";"" nowrap=""nowrap"" rowspan=""2"" align=""center"" valign=""top""><a href=""alkisarna.asp?anv=" &objRS("anv")& """><img src=""inc_ikoner/" &objRS("ikon_fil")& """ border=""0"" alt=""" &objRS("ikon_namn")& """ /><br />" &objRS("anv")& "</a></td><td style=""border: 1px #ffffff solid; padding: 1px; background-color: " &strFarg& ";"" valign=""top"">#" &intRaknare& " " &FormatDateTime(objRS("datum"),2)& " - " &FormatDateTime(plush(objRS("datum")),4)& " - <a href=""gb.asp?ID=" &objRS("avID")& """>Svara</a>"
		If CInt(Session("ID")) = CInt(objRS("avID")) or CInt(Session("ID")) = intID Then 
			Write " - <a href=""gb.asp?a=del&ID=" &intID& "&gbID=" &objRS("kommentarID")& """ onClick=""return confirm('Säker på att du vill ta bort kommentaren?')"">X</a>"
		End If
		Write "</td></tr><tr><td valign=""top"" style=""border: 1px #ffffff solid; padding: 3px;""><b>* Privat inlägg *</b></td></tr>"
		End If
	objRS.MoveNext
	Wend
Medlem sedan nov. 20017 144 inlägg
#2

1. Sluta svär!
2. Byt ut asterixerna(*) i sqlsatsen mot kolumnnamnen.
3. Dimma variablerna ex. strFarg, intRaknare osv.

Medlem sedan mars 20015 287 inlägg
#3

Blir detta helgalet?

sql="select anv.anv, kommentarer.*, status.* from anv, kommentarer, status where kommentarer.anvID = " &intID& " and kommentarer.bildID=0 and kommentarer.festID=0 and kommentarer.borttaget = False and anv.anvID = kommentarer.avID and anv.status = status.ikonID order by datum desc"
	Set objRS = objConnect.Execute(sql)
	If objRS.EoF Then
		Write "<tr><td colspan=""2"" align=""center"">Tyvärr finns det inga gästboksinlägg här ännu... mohaha!</td></tr>"
		While Not objRS.EoF
			intRaknare = intRaknare + 1
			strFarg = "#dae8ef"
			If objRS("privat") = True Then strFarg = "#ffcccc"
			Write "<tr ><td style=""border: 1px #ffffff solid; padding: 3px; background-color: " &strFarg& ";"" nowrap=""nowrap"" rowspan=""2"" align=""center"" valign=""top""><a href=""alkisarna.asp?anv=" &objRS("anv")& """><img src=""inc_ikoner/" &objRS("ikon_fil")& """ border=""0"" alt=""" &objRS("ikon_namn")& """ /><br />" &objRS("anv")& "</a></td><td style=""border: 1px #ffffff solid; padding: 1px; background-color: " &strFarg& ";"" valign=""top"">#" &intRaknare& " " &FormatDateTime(objRS("datum"),2)& " - " &FormatDateTime(plush(objRS("datum")),4)& " - <a href=""gb.asp?ID=" &objRS("avID")& """>Svara</a>"
			If CInt(Session("ID")) = CInt(objRS("avID")) or CInt(Session("ID")) = intID Then 
				Write " - <a href=""gb.asp?a=del&ID=" &intID& "&gbID=" &objRS("kommentarID")& """ onClick=""return confirm('Säker på att du vill ta bort kommentaren?')"">X</a>"
			End If
			Write "</td></tr><tr><td valign=""top"" style=""border: 1px #ffffff solid; padding: 3px;"">"

			If Not objRS("privat") = True Then
				delaText(objRS("kommentar"))
			ElseIf objRS("privat") = True and CInt(Session("ID")) = CInt(intID) or CInt(Session("ID")) = CInt(objRS("avID")) Then 
				delaText(objRS("kommentar"))
			Else
				Write "<b>* Privat inlägg *</b>"
			End If
			Write "</td></tr>"
	objRS.MoveNext
	Wend
Medlem sedan aug. 2000378 inlägg
#4

Slutar med att den inte skriver ut ett skit =/
Fattar inte riktigt... Det är de långa if-satserna som är lite konstiga och det VERKAR som att om man använder ett fält ex. objRS("privat") för att jämnföra så vill den inte senare skriva ut samma...
Kan detta bero på låsningen lr liknande?
Kanske ska hämta ut alla fält o lagra i variabler?

Medlem sedan juni 200032 967 inlägg
#5

Ceeron skrev:

Kan detta bero på låsningen lr liknande?

Nej. Använder du PM/Memo-fält (antar att du kör Access)? I så fall blir det så. Du kan bara hämta data ur ett fält en gång. Lösning:

Ceeron skrev:

Kanske ska hämta ut alla fält o lagra i variabler?

Jepp, det är precis vad du ska göra. :)

Mvh

Medlem sedan aug. 2000378 inlägg
#6

Ahhhhh!
Så det är så det är... haft problem med nåt sånt tidigare men aldrig vetat va det var då...
Ska trixa lite med koden så ska vi se ;)
Tack

Medlem sedan aug. 2000378 inlägg
#7

Funka ju typ sen men du missade att lägga till en Else innan det man ska skriva ut:

	sql="select (select count(*) from kommentarer where kommentarer.anvID = " &intID& ") as antal, anv.anv, kommentarer.*, status.* from anv, kommentarer, status where kommentarer.anvID = " &intID& " and kommentarer.bildID=0 and kommentarer.festID=0 and kommentarer.borttaget = False and anv.anvID = kommentarer.avID and anv.status = status.ikonID order by datum desc"
	Set objRS = objConnect.Execute(sql)
	intRaknare = (objRS("antal") + 1)
		While Not objRS.EoF
			intRaknare = intRaknare - 1
			strFarg = "#dae8ef"
			If objRS("privat") = True Then strFarg = "#ffcccc"
			Write "<tr ><td style=""border: 1px #ffffff solid; padding: 3px; background-color: " &strFarg& ";"" nowrap=""nowrap"" rowspan=""2"" align=""center"" valign=""top""><a href=""alkisarna.asp?anv=" &objRS("anv")& """><img src=""inc_ikoner/" &objRS("ikon_fil")& """ border=""0"" alt=""" &objRS("ikon_namn")& """ /><br />" &objRS("anv")& "</a></td><td style=""border: 1px #ffffff solid; padding: 1px; background-color: " &strFarg& ";"" valign=""top"">#" &intRaknare& " " &FormatDateTime(objRS("datum"),2)& " - " &FormatDateTime(plush(objRS("datum")),4)& " - <a href=""gb.asp?ID=" &objRS("avID")& """>Svara</a>"
			If CInt(Session("ID")) = CInt(objRS("avID")) or CInt(Session("ID")) = intID or (intID = 0 and CInt(Session("Access")) <= 2) Then 
				Write " - <a href=""gb.asp?a=del&ID=" &intID& "&gbID=" &objRS("kommentarID")& """ onClick=""return confirm('Säker på att du vill ta bort kommentaren?')"">X</a>"
			End If
			Write "</td></tr><tr><td valign=""top"" style=""border: 1px #ffffff solid; padding: 3px;"">"

			If Not objRS("privat") = True Then
				delaText(objRS("kommentar"))
			ElseIf objRS("privat") = True and CInt(Session("ID")) = CInt(intID) or CInt(Session("ID")) = CInt(objRS("avID")) Then 
				delaText(objRS("kommentar"))
			Else
				Write "<b>* Privat inlägg *</b>"
			End If
			Write "</td></tr>"

	objRS.MoveNext
	Wend
397 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
121 ms — hämta statistik (db)
139 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)