webForumDet fria alternativet

Vännersystemfel :(

ASP

20 svar · 523 visningar · startad av webbSAJTEN

Medlem sedan jan. 2002992 inlägg
Frågan#1

http://www.aspsidan.se/code/default.asp?c=4789

Där ser ni koden. Jag har tagit denna kod från en polares sida men gjort om den så den skulle passa min sida, men det blir helt knasigt..

Jag får felmess:

Sun ONE ASP VBScript compilation (0x800A0438)
Unexpected end of line inside a string
/com/vanner_visa_ny.asp, line 27, column 114

Medlem sedan juni 200032 967 inlägg
#2

"Oväntade radbrytningar inuti en sträng"

Titta på raderna 28-32.

Medlem sedan jan. 2002992 inlägg
#3

Sun ONE ASP VBScript compilation (0x800A03FC)
Syntax error, unexpected "Else ", expecting "Next"
/com/vanner_visa_ny.asp, line 239, column 1

Detta blir mitt fel nu..
Länken är uppdaterad..

Medlem sedan juni 200032 967 inlägg
#4

Rad 241-249, till vilken if-sats hör det blocket?

Mitt tips:

Indentera, indentera, indentera, indentera, indentera, indentera, indentera, indentera, indentera, indentera, indentera, indentera, indentera, indentera så är det så mycket lättare att fånga upp fel, följa slingor och if-satser.

Medlem sedan jan. 2002992 inlägg
#5

Skulle tro att den if-satsen börjar på rad 31 :)

Hmm.. Känns som att jag inte kommer klara detta :S

Medlem sedan juni 200032 967 inlägg
#6

Indentera hela filen så ser du om det är något block som sitter fel, och du ser om if-satsen som börjar på rad 31 är avslutad på fel ställe.

Medlem sedan jan. 2002992 inlägg
#7

http://www.aspsidan.se/code/default.asp?c=4789

uppdaterad..

Känner mig inte allt för duktig :(

Medlem sedan juni 200032 967 inlägg
#8

Nä, det där blev ju nästan värre. :)

Så här brukar jag göra:

If-sats
       Kodrad
       Kodrad
       For-sats
              Kodrad
              Kodrad
              If-sats
                     Kodrad
                     Kodrad
              Else-sats
                     Kodrad
                     Kodrad
              End if
       Next
Else-sats
       Select case-sats
              Case "foo"
                     Kodrad
                     Kodrad
              Case "bar"
                     Kodrad
                     Kodrad
       End select
End if

Meningen är alltså att se vilken kod som tillhör vilket kodblock, och att göra koden lättöverskådlig och lätt att följa. Ibland lägger jag också in en tomrad här och där för att göra blocken ännu tydligare.

När man har en indenterad kod är det mycket lättare att fånga upp fel som beror på att man satt kod på fel ställe.

Problemet denna gång är nog att du har en next som ligger allra sist. Skall det fungera, så måste ju for ligga överst, och det gör den inte. Next borde alltså ligga före den "else" vi pratar om.

Medlem sedan jan. 2002992 inlägg
#9

Jag har testat att flytta den, men kika nu..

jag får felmess:

Sun ONE ASP VBScript runtime (0x800A0009)
Subscript out of range
/com/vanner_visa_ny.asp, line 149

Medlem sedan juni 200032 967 inlägg
#10

Då pekar du på ett index som inte finns i arrayen.

Medlem sedan jan. 2002992 inlägg
#11

Vad menas med det?
intVanID finns i databasen och den ska väl ligga i arrayen?

Medlem sedan juni 200032 967 inlägg
#12

Ja, under förutsättning att intFirstPost och intLastPost gör så att i blir ett värde du kan använda när du hämtar värden från din array, och att du tittar på rätt rad.

Ett fel kan ju vara att du i din SQL-fråga hämtar nio fält (0-8), och i koden försöker du sedan skriva ut fält 9 och 10 från din array.

Medlem sedan jan. 2002992 inlägg
#13

Fixade och trixade me arayen och nu får jag ingen felmess iaf..
Det set helt sär ut, men det har nog mest med tabellerna att göra.. :D Tack!

Medlem sedan jan. 2002992 inlägg
#14

Tjenare igen!
Nu är de så att alla personer som är under kategorin vänner hamnar inte under en utan den skapar en ny..

Vänner
Jimmy Grönwall

Bästa vänner
Anna

Vänner
Emma Gustafsson

Varför blir de så?

http://www.aspsidan.se/code/default.asp?c=4789

Medlem sedan juni 200032 967 inlägg
#15

Kan ju bero på att du inte har någon order by i din selectfråga, så posterna kommer huller om buller. Borde du inte sortera på strRel för att få dem i "kategoriordning"? Du saknar också kod som sätter strRel till strLast i din if-sats som skriver ut rubriken.

Medlem sedan jan. 2002992 inlägg
#16

Vart i if-satsen skall den sätta strRel till strLast?
Känner som att jag är nära nu :P

Medlem sedan juni 200032 967 inlägg
#17

Vart i if-satsen skall den sägga strRel till strLast?

Det har ingen betydelse.

Medlem sedan jan. 2002992 inlägg
#18

Jag har satt en Order i min SQLsats nu..
Problemet kvarstår dock.. Dom kom bara i en annan ordning, vilket iof var rätt bra de också =)..

Ska sätta in en if sats nu å kika vad som händer..

Medlem sedan jan. 2002992 inlägg
#19
if not strLast = strRel Then %>
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>

<td>
<tr bgcolor="#D81F2A">
<td>

<font class="brödtext"><b><% Response.write strRel %> </b></font>
</td>

<td width="5%">&nbsp;</td>
<td width="20%">&nbsp;</td>
<td width="30%">&nbsp;</td>
<td width="10%">&nbsp;</td>
</tr>

<% 
strRel = strLast
End IF %>

Sådär ser den if-satsen ut och de blev inge bättre :(

Medlem sedan jan. 2002992 inlägg
#20
<%
		strLast = ""	
		intVar = 0						  
		' -- // Kollar så att det finns inlägg
			If IsArray(arrVa) Then
				' -- // Visa antal inlägg per sida
				intPostsPerPage = 100
				
				' -- // Navigeringshantering

					If IsNumeric(Trim(Request.Querystring("pg"))) Then 
					intPage = CInt(Trim(Request.Querystring("pg")))
					Else 
					intPage = 1
					End If
				
				intFirstPost = (intPage - 1) * intPostsPerPage
				intTotalPosts = UBound(arrVa, 2)
				intPages = ((intTotalPosts)\intPostsPerPage)+1
				
					If intFirstPost + (intPostsPerPage - 1) >= UBound(arrVa,2) Then
					intLastPost = UBound(arrVa, 2) 
					Else
					intLastPost = intFirstPost + (intPostsPerPage - 1)
					End If
				' -- // Klart med det =)
				
				' -- // Skriv ut inläggen på den valda sidan
				For i = intFirstPost To intLastPost
				
						If i Mod 2 = 0 then 
						color = "325F77" 
						Else 
						color = "2D586F" 
						End If 
															
				' -- // Hämtar alla värden från arrayn (databasen...)
				strAnv = arrVa(0, i)
				intAnvID = arrVa(1, i)
				VstrAnvn = arrVa(2, i)	
				V_ID = arrVa(3, i)
				intVanID = arrVa(4, i)	
				VstrVan = arrVa(5, i)					
				VintVanID = arrVa(6, i)
				strRel = arrVa(7, i)
				intIrl = arrVa(8, i)
				intStatus = arrVa(9, i)
				strSenast = arrVa(10, i)

				
		
			if not strLast = strRel Then %>
					<table width="100%" border="0" cellspacing="0" cellpadding="2">
						 	<tr>
						 		<td>
									<tr bgcolor="#D81F2A">
								<td>
								<font class="brödtext"><b><% Response.write strRel %> </b></font>
								</td>
								<td width="5%">&nbsp;</td>
								<td width="20%">&nbsp;</td>
								<td width="30%">&nbsp;</td>
								<td width="10%">&nbsp;</td>
							</tr>

			<% 
End IF %>
				<table border="0" width="100%" cellpadding="2" cellspacing="0">
				<tr>
				<td width="100%">

				<a href="minsida_ny.asp?ID=<%=intVanID%>"><%=VstrVan%></a>

				</td>
				</tr>
				</table>

			<%	
strLast = strRel
Next

			' -- // Och så var alla inlägg utskrivna

			' -- // Det fanns inga inlägg, vi får ställa in lite annat
else
intPages = 0
intTotalPosts = -1 %>

Här finns inga vänner	
<% Connect.Close
Set Connect = nothing

End If%>

Där har vi de :D:D:D

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)