webForumDet fria alternativet

Seeeg! Optimera plz?

6 svar · 297 visningar · startad av Ceeron

CeeronMedlem sedan aug. 2000378 inlägg
#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
Jesper TMedlem 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.

solbulleMedlem 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
CeeronMedlem 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?

@ndersMedlem sedan juni 200032 969 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

CeeronMedlem 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

CeeronMedlem 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
257 ms totalt · 3 externa anrop · v20260731065814-full.86db40fa
125 ms — hämta forumlista (db)
124 ms — hämta statistik (db)
130 ms — hämta tråd, inlägg och bilagor (db)