webForumDet fria alternativet

var ska loopen ligga

ASP

15 svar · 421 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

var ska while-loopen ligga och movenext???

<%set rs = objConn.Execute("SELECT tblUsers_Galleri_kommentar.bildID, tblUsers_Galleri_kommentar.agare, -Sum(tblUsers_Galleri_kommentar.nytt) AS SumNytt" & _
  " FROM tblUsers_Galleri_kommentar" & _
  " WHERE agare=1" & _
  " GROUP BY bildID,agare")

with response
  
    If bildRS.EOF Then
        .Write "Inga poster"
    Else
        .Write "<table width=""700"" border=""0"" bgcolor=""#EEEEEE"">" & vbCrLf
        .Write "<tr>" & vbCrLf
		
        Do
            If x mod 3=0 and x>1 Then .Write "</tr><tr>" & vbCrLf
[B]while( not rs.EOF )[/B]
            .Write "<td align=""left"" valign=""middle"" width=""60"">" & vbCrLf
            .Write "<a href=""JavaScript: Pic("& bildRS("bildID") &","& request("userID") &");"">" & vbCrLf
			.Write "<img class=""presentation"" border=""0"" width=""60"" height=""60"" src=""/upload/images/gallery/"& bildRS("bild") &" ""></a>" & vbCrLf
            .Write "</td>" & vbCrLf
			.Write "<td class=""linkpresentation"" align=""left"" valign=""top"" width=""350"">" & vbCrLf%>
			<b> <%=bildRS("rubrik")%> [B]<%=rs("SumNytt")%>[/B] [B]<%rs.movenext: wend%>[/B]</b>
			<%
			.Write "<br />"  & vbCrLf			
			%>
			<%if bildRS("kommentar") <> "" Then%>
<%=replace(bildRS("kommentar"),vbCrLf,"<br>")%> 
<%End If%>
Medlem sedan dec. 20003 887 inlägg
#2

Ta bort Do och flytta dit while-delen.

Medlem sedan feb. 20032 027 inlägg
#3

Detta är då jag000030
Kommentera gärna och mycket ;-)
--------------------------------------------------------------------------------
¤ Radera ¤ ¤ Visa ¤ Visad 3 gånger Lite humor
Den här är ganska bra :-)
--------------------------------------------------------------------------------
¤ Radera ¤ ¤ Visa ¤ Visad 20 gånger

får detta då

Medlem sedan dec. 20003 887 inlägg
#4

Kollade lite närmare på din kod (som är hopplös att läsa ;)) och jag ser att du använder dig av ett annat recordset för att hämta ut information till bilderna.

Hur ser den sql-satsen ut?

Medlem sedan feb. 20032 027 inlägg
#5
Set bildRS=objConn.Execute("SELECT clicks,tblUsers.userID, tblUsers.username, tblUsers.picture, * FROM tblUsers LEFT JOIN tblUsers_Galleri ON tblUsers.userID = tblUsers_Galleri.agare WHERE (((tblUsers_Galleri.agare)="&request("userID") &")) ORDER BY tblUsers_Galleri.bildID DESC")

lite slarvigt gjort i access och stjärnan ska bort :-)

Medlem sedan dec. 19996 721 inlägg
#6

Visa hela loopen, annars blir det svårt att räkna ut vad som går snett...

Medlem sedan feb. 20032 027 inlägg
#7
<%

set rs = objConn.Execute("SELECT tblUsers_Galleri_kommentar.bildID, tblUsers_Galleri_kommentar.agare, -Sum(tblUsers_Galleri_kommentar.nytt) AS SumNytt" & _
  " FROM tblUsers_Galleri_kommentar" & _
  " WHERE agare=1" & _
  " GROUP BY bildID,agare")

with response
  
    If bildRS.EOF Then
        .Write "Inga poster"
    Else
        .Write "<table width=""700"" border=""0"" bgcolor=""#EEEEEE"">" & vbCrLf
        .Write "<tr>" & vbCrLf
        Do
            If x mod 3=0 and x>1 Then .Write "</tr><tr>" & vbCrLf

            .Write "<td align=""left"" valign=""middle"" width=""60"">" & vbCrLf
            .Write "<a href=""JavaScript: Pic("& bildRS("bildID") &","& request("userID") &");"">" & vbCrLf
			.Write "<img class=""presentation"" border=""0"" width=""60"" height=""60"" src=""/upload/images/gallery/"& bildRS("bild") &" ""></a>" & vbCrLf
            .Write "</td>" & vbCrLf
			.Write "<td class=""linkpresentation"" align=""left"" valign=""top"" width=""350"">" & vbCrLf%>
			<b> <%=bildRS("rubrik")%> <%while( not rs.EOF )%><%=rs("SumNytt")%> <%rs.movenext: wend%></b>
			<%.Write "<br />"  & vbCrLf%>
			
			<%if bildRS("kommentar") <> "" Then%>
				<%=replace(bildRS("kommentar"),vbCrLf,"<br>")%> 
			<%End If%>	
<hr />
			<%if clng(request("userID")) = clng(session("userID")) then%>
                  <a class="linkpresentation" href="/gallery/delPic.asp?pID=<%=bildRS("bildID")%>"">¤ Radera ¤</a> 
            <%end if%>
            
			<%if clng(request("userID")) = clng(session("userID")) then%>
                  <a class="linkpresentation" href="JavaScript:viewComment(<%=bildRS("bildID")%>);"> 
                  ¤ Visa ¤</a> Visad <%=bildRS("clicks")%> gånger
            <%Else%>
                  <a class="presentation" href="JavaScript:placeComment(<%=bildRS("bildID")%>,<%=bildRS("agare")%>,'<%=bildRS("username")%>');"> 
				  ¤ Kommentera ¤</a> 
            <%end if%>

			<%.Write "</td>" & vbCrLf
            x=x+1
            bildRS.MoveNext
        Loop  Until bildRS.EOF

        .Write "</tr>" & vbCrLf
        .Write "</table>" & vbCrLf
    End If
    end with
%>
Medlem sedan dec. 19996 721 inlägg
#8

Utgå från följande kod, så blir det nog ordning på det.

http://www.webforum.nu/showthread.php?p=38288#post38288

Använd inte request("userID") för att bestämma om något ska visas eller inte. Ta värdet från databasen i stället.

Medlem sedan dec. 20003 887 inlägg
#9

Testa köra följande i Access och kika på vad du får för resultat...

SELECT clicks,tU.userID, tU.username, tU.picture, tUGK.bildID, tUGK.agare, SUM( tUGK.nytt ) AS SumNytt
FROM ( tblUsers tU
LEFT JOIN tblUsers_Galleri tUG ON tUG.agare = tU.userID )
LEFT JOIN tblUsers_Galleri_kommentar tUGK ON tUGK.agare = tU.userID
WHERE tUG.agare = userID
GROUP BY clicks,tU.userID, tU.username, tU.picture, tUGK.bildID, tUGK.agare
ORDER BY tUG.bildID DESC
Medlem sedan feb. 20032 027 inlägg
#10

allt funkar ju i koden, det är bara visningen av nya kommentarer som inte vill visas jämte varje bild, de hamnar bara alla vid första bilden

Medlem sedan dec. 19996 721 inlägg
#11

Det blir ändå inte rätt, eftersom det kommer att bli obalans i tabellen, om inte antalet rader från databasen är jämnt delbart med 3. Därav mitt länktips.

Medlem sedan dec. 20003 887 inlägg
#12

WebbisNet skrev:

allt funkar ju i koden, det är bara visningen av nya kommentarer som inte vill visas jämte varje bild, de hamnar bara alla vid första bilden

Givetvis. Du öppnar ett recordset för kommentarer innuti din loop som visar bilderna. Första bilden som visas kommer att loopa igenom alla kommentarer och avsluta med sista posten. Alltså blir det recordsetet flaggat EOF och den snurran kommer inte att köras igen.

Medlem sedan feb. 20032 027 inlägg
#13

emission skrev:

Det blir ändå inte rätt, eftersom det kommer att bli obalans i tabellen, om inte antalet rader från databasen är jämnt delbart med 3. Därav mitt länktips.

Såg tipset men vet inte hur jag ska implementera det

Medlem sedan dec. 19996 721 inlägg
#14

Där det står response.write rs("fält") i exemplet ska du moffla in din kod som du har mellan td:arna + att koden som söker ut kommentarerna måste ligga där.

Medlem sedan feb. 20032 027 inlägg
#15

emission skrev:

Där det står response.write rs("fält") i exemplet ska du moffla in din kod som du har mellan td:arna + att koden som söker ut kommentarerna måste ligga där.

kan du skriva ihop hur det ska se ut *ler lite*

är för trött för att tänka, har knappt sovit på nätterna och jobbat för hårt

Medlem sedan dec. 19996 721 inlägg
#16

Nä, du får sova på saken i stället :)

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