webForumDet fria alternativet

movenext

7 svar · 534 visningar · startad av leox

leoxMedlem sedan mars 200550 inlägg
#1

Hej!

Hur gör man om man vill hämta ut informationen från en databas och placera dom i flera olika kolumner på samma rad?

När jag hämtar informationen nu så skapas ju allt rakt ner i en lista såhär:

1. Post
2. Post
3. Post
4. Etc etc

Jag vill att det ska se ut såhär:

Post1 Post2 Post3
Post4 Post5 Post6

oGGoMedlem sedan apr. 2003120 inlägg
#2

jag skulle slänga in en räknare (i) i loopen som plusas på 1 för varje gång loopen körs.
Sedan när i = 3 så slängs en </tr><tr> in och det blir ny rad.

Typ:

<table>
	<tr>
<%
i = 0
Do unti RS.eof
	i = i + 1

		Response.Write"<td>" & RS("cell") & "</td>"

	If i = 3 Then
		i = 0
		Response.Write "</tr><tr>"
	end if

RS.movenext
	Loop

%>
	</tr>
</table>
Jesper TMedlem sedan nov. 20017 144 inlägg
#3

Detta:

If i = 3 Then
		i = 0
		Response.Write "</tr><tr>"
	end if

Kan bytas ut mot detta:

If i mod 3 = 0 Then Response.Write "</tr><tr>"
leoxMedlem sedan mars 200550 inlägg
#4

Grymt..
Fungerar utmärkt

Tack för hjälpen

HermanMedlem sedan maj 2001431 inlägg
#5

tänkte bara... om någon gjort ett grymt inlägg så markera det som ett accepterat inlägg :)
Då slipper jag och andra gå in och söka lösning på ett icke-problem.

leoxMedlem sedan mars 200550 inlägg
#6

Hej igen.

Hur skall jag skriva om jag vill loopa ut mina poster såhär:

<td>     <td>
Post 1   Post 4
Post 2   Post 5
Post 3   Post 6
</td>    </td>

Blev inge bra när man använde TR-rader. En del poster innehöll fler tecken vilket gör att det ser dåligt ut.

Engine^Medlem sedan dec. 20003 887 inlägg
#7

Krångligare, helt klart. Antingen får du sortera om ditt recordset och sedan loopa ut posterna eller så måste du hoppa fram och tillbaka i det medan du skriver ut det. Att hoppa känns som den enklare lösningen av dom två.

leoxMedlem sedan mars 200550 inlägg
#8

Googlade lite och hittade följande lösning om någon annan behöver liknande:

<td width="200" valign="top">
<%
rowLen=3 ' Antal rader per kolumn
idx=0
Do While Not objrs.eof
If idx=rowLen Then
Response.write "</td><td width='200' valign=top>"
idx=0
End If
Response.write "<font color=black><span class='staff'><b> "&objrs("Rubrik")&"</b></span><br><i> "&objrs("Datum")&" </i><br> "&objrs("Newstext")&" <br><br>"
idx=idx+1
objrs.movenext
Loop
end if
%>

Dock så måste man ändra rowLen men den fungerar iaf.
Man kan ju göra en count som räknar antal poster i tabellen och ändrar rowLen därefter.

/leox

124 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)