webForumDet fria alternativet

dela upp i kolumner

ASP

4 svar · 193 visningar · startad av andreas_lindh

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

jag använder den här koden som jag hittade här på wf för att dela upp poster från en databas i två kolumner.

<TABLE bgcolor="#FFFFFF" width="95%" border="0" cellspacing="0" cellpadding="0">
		  <%
		 intCheck = 1
		 do until rs.eof
		  If intCheck = 1 Then
	      Response.Write "<tr>"
	    End If
	   
	   Response.Write "<td width=""200px"">" & RS("datum") &"</td>"

	    If intCheck = 2 Then
		Response.Write "</tr>"

	      intCheck = 0
	    End If

	    intCheck = intCheck + 1
		RS.MoveNext 
Loop 

response.write "</table>" 
		  %>

Nu skrivs posterna ut så här
post1 post2
post3

Går det att göra så att posterna skrivs ut så här istället?
post1 post6
post2
post3
post4
post5

Medlem sedan jan. 20011 140 inlägg
#2

Löste det genom att använda getrows istället

Medlem sedan mars 20015 287 inlägg
#3

Och hur såg den lösningen ut om man får vara nyfiken?

Medlem sedan jan. 20011 140 inlägg
#4

jag kör en select count
sen delar jag antalet i select count med 2

sql="select distinct Datum from kalender where (month(datum) BETWEEN " & m2 &" and "& m1 &") and year(datum) = " & y &" order by datum"
set rs = oconn.execute(sql)
If Not RS.EOF Then arrKalender = RS.GetRows() 
RS.Close : Set RS = Nothing
sql="SELECT COUNT(*) as antal FROM (SELECT DISTINCT datum FROM kalender) kalender where (month(datum) BETWEEN " & m2 &" and "& m1 &") and year(datum) = " & y &""
set rsc = oconn.execute(sql)
antal = rsc("antal") / 2

'första kolumnen
<%
If IsArray(arrKalender) Then

For i = 0 To antal %> 
'Skriv ut
<% 
Next
End If
%>
'andra kolumnen
<% For i = antal To UBound(arrKalender,2) %>
'skriv ut
<% 
Next
Erase arrKalender			
End If
%>

Kanske inte den bästa lösningen men den fungerar perfekt

Medlem sedan mars 20015 287 inlägg
#5

Oki, bra att du visade koden, det underlättar för nästa med liknande problem.

Jag tycker spontant att det ser bra ut med Getrows().
Vet inte om du skulle kunna effektivisera såtillvida att du bör väl få ut antalet genom att se hur stor din array är?

antal = UBound(arrKalender,2) / 2

Hur som helst ska du kanske stänga ditt rsc direkt efter att du satt variabeln "antal".

262 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)