webForumDet fria alternativet

Do Until RS.EOF

ASP

13 svar · 359 visningar · startad av soffan76

Medlem sedan maj 2001684 inlägg
Frågan#1

Hej!

Jag har en databas med en massa poster som jag vill visa i en lista.
Hur gör jag för att inte alla ska visas i en lång radda, det ser inte snyggt ut. Kan jag först lista tio poster, sedan tio till o.s.v. tills posterna tar slut.
Kan säga att det gäller anställda med foton och jag vill att det ska se snyggt ut i olika tabeller.
Svårt att förklara, hoppas nån fattade....
Nu är koden:

<%
Do Until RS.EOF%>
<td valign="top"><%=rs("namn")%></td>
<% If rs("foto")<> "" Then%>
<td valign="top"><img src="personalfoton/cdc/<%=rs("foto")%>" width="50" height="67" 
alt="" border="1"></td>
<% Else %>
<td valign="top"><img src="personalfoton/bild_saknas.jpg" width="50" height="67" 
alt="" border="1"></td>
<% End If %>
<%
rs.MoveNext
Loop
%>
Medlem sedan okt. 20005 273 inlägg
#2
[red]
<%
Do Until RS.EOF%>
<tr>
<td valign="top"><%=rs("namn")%></td>
<% If rs("foto")<> "" Then%>
<td valign="top"><img src="personalfoton/cdc/<%=rs("foto")%>" width="50" height="67" 
alt="" border="1"></td>
<% Else %>
<td valign="top"><img src="personalfoton/bild_saknas.jpg" width="50" height="67" 
alt="" border="1"></td>
<% End If %>
</tr>
<%
rs.MoveNext
Loop
%>
[/red]
Medlem sedan maj 2001684 inlägg
#3

Men hur gör jag för att lista det lite snyggare, först fem på en rad, sen nästa fem o.s.v. tills posterna tar slut. Nu hamnar allt på en lång rad... Det är nämligen rätt många poster och jag vill undvika scrollning.

Medlem sedan okt. 20005 273 inlägg
#4

soffan76 skrev:

först fem på en rad, sen nästa fem o.s.v.

ska man ladda en ny sida efter fem ?

Medlem sedan maj 2001684 inlägg
#5

Nej, allt på samma sida nedanför varann. Det blir kanske fler SQL-frågor...?
Först post 1-5, på nästa rad post 6-10 o.s.v.

Medlem sedan maj 2001684 inlägg
#6

Om det inte går får jag väl ha det som det är, tänkte bara höra efter...

Medlem sedan okt. 20005 273 inlägg
#7

Vänta lite.......

Medlem sedan juni 200032 967 inlägg
#8

Det är klart att det går.

Använd en räknare och funktionen mod så går det att lösa galant.

mvh,

Medlem sedan apr. 20012 427 inlägg
#9

Någonting sådant här kanske?

<table width="500" border="1" cellspacing="0" cellpadding="0">
	<tr>
	<%
	For i = 1 To 50
	%>
		<td>x</td>
	<%
	If i Mod 5 = 0 And Not i = 50 Then Response.Write("</tr><tr>")
	Next
	%>
	</tr>
</table>

RED: Precis som @nders sa, använd mod.

Medlem sedan maj 2001684 inlägg
#10

Tack, jag testar...återkommer...

Medlem sedan maj 2001684 inlägg
#11

Hmmm, det blev en snygg tabell, men samma post i alla celler....
Vad gör jag för fel?


<table width="500" border="1" cellspacing="0" cellpadding="0" align="center">
<tr>
	<%
	For i = 1 To 50
	%>
		<td><%=rs("namn")%></td>
	<%
	If i Mod 5 = 0 And Not i = 50 Then Response.Write("</tr><tr>")
	Next
	%>
	</tr>
</table>
<% End IF %>
<% End IF %>
</table>
Medlem sedan okt. 20005 273 inlägg
#12
[red]
<table width="500" border="1" cellspacing="0" cellpadding="0">
<tr>
<%
i = 1
Do 
     If rs("foto") <> "" Then
          strBild = "<img src="personalfoton/cdc/"&rs("foto")
     Else
          strBild = "img src="personalfoton/bild_saknas.jpg"
     End If
Response.Write "<td valign=""top"">"&rs("namn")&" <br>"&vbCrLf
Response.Write "<img src="""&=rs("foto")&""" width=""50"" height=""67"" alt="""&rs("namn")&""" border=""1""></td>"&vbCrLf
If i Mod 5 = 0 And Not rs.EOF Then Response.Write "</tr><tr>"
i = i + 1
rs.MoveNext
Loop Until RS.EOF
%>
</tr>
</table>
[/red]

Så här kanske .......... :)
/Redigerade lite och lite till

Medlem sedan juni 200032 967 inlägg
#13

Du har ju inte med din recordset-loop i koden?

<table width="500" border="1" cellspacing="0" cellpadding="0" align="center">
<tr>
	<%
	i=0
	Do Until RS.EOF
		i = i + 1
		%>
			<td><%=rs("namn")%></td>
		<%
		If i Mod 5 = 0 And Not i = 50 Then Response.Write("</tr><tr>")
		RS.MoveNext
	Loop
	%>
	</tr>
</table>
<% End IF %>
<% End IF %>
</table>
Medlem sedan maj 2001684 inlägg
#14

Jaaa, nu ser det snyggt ut. TACK!

633 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
505 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)