webForumDet fria alternativet

Skriva ut från Access i en tabell

ASP

9 svar · 272 visningar · startad av MickeA.com

Medlem sedan feb. 20034 441 inlägg
Frågan#1

Hej

På min sida har jag 'veckans fråga' i form av en helt vanlig poll med tre svaralternativ. Nu har jag så att man kan titta på alla som varit.

Vill skriva ut alla i en tabell, med _tre_ frågor på varje rad. Så den plockar ut alla från db'n, sen börjar skriva ut i en loop. Men den ska skriva ut tre stycken, sen ska en </tr> komma, så att den byter till en ny rad. Är ni med?! Så ska den göra tills alla är utskrivna, Det _kan_ ju hända att det bara blir en eller två på sista raden, beroende på ur många det är totalt.

Så en liten loop för att få det här att funka skulle jag vilja ha hjälp med ;)

Tack !!!

Medlem sedan nov. 2003266 inlägg
#2

Släng in en räknare = 1 som räknar upp ett för varje varv. När den = 3 skriver du </TR><TR> och sätter räknaren = 1.

Medlem sedan dec. 20003 887 inlägg
#3

Du skulle kunna lägga till en räknare i loopen och göra något i den här stilen

intCounter = 0

While Not Recordset.EOF
  intCounter = intCounter + 1

  If intCounter = 1 Then Response.Write "<tr>"

  [blue]'skriv ut data[/blue]

  If intCounter Mod 3 = 0 Then Response.Write "</tr>"
Wend

If Not intCounter Mod 3 = 0 Then Response.Write "</tr>"
Medlem sedan feb. 20034 441 inlägg
#4

Hmm, ja just det, det5 där skulle ju gå, sen skiver jag ut en ny <td></td> med allt innehåll mellan där 'skriv ut data står. Det borde ju funka bra ;)

Medlem sedan feb. 20034 441 inlägg
#5

Men nu ser jag ngt konstigt, ska det verkligen var såhär:

If intCounter Mod 3 = 0 Then Response.Write "</tr>"
Wend

If Not intCounter Mod 3 = 0 Then Response.Write "</tr>"

Jag tycker det ser konstigt ut, men det är ju o andra sidan väldigt tidigt ;)

Medlem sedan feb. 20034 441 inlägg
#6

Hmm, såhär har jag gjort nu, men ngt är jättefel, får inga direkta felmess, men skriptet laddar o laddar tills jag får ett meddelande om att "tiden för att köra skript överstiges". så det verkar vara ngt fel:

<table border="0" width="100%" height='100%' cellspacing="0" cellpadding="0">
<tr><td width="100%" height="15" class='forum_text'>&nbsp;</td></tr>
<%
intCounter = 0

While Not oRec.EOF
  intCounter = intCounter + 1

fraga =  oRec("Fraga")
svar1  = oRec("Svar1")
svar2  = oRec("Svar2")
svar3  = oRec("Svar3")
initDate = oRec("initDate")

total = CInt(oRec("Res1")) + CInt(oRec("Res2")) + CInt(oRec("Res3"))

If oRec("Res1") = 0 Then pro1 = 0 Else pro1 = Replace(round(oRec("Res1") / total * 100), ",",".") End If
If oRec("Res2") = 0 Then pro2 = 0 Else pro2 = Replace(round(oRec("Res2") / total * 100), ",",".") End If
If oRec("Res2") = 0 Then pro3 = 0 Else pro3 = Replace(round(oRec("Res3") / total * 100), ",",".") End If

If intCounter = 1 Then Response.Write "<tr>"
%>
<table width='200px' style='border: 1px #000000 solid;' cellpadding='5px' cellspacing='0'>
<tr><td width='200px' class='forum_text' height='20px'><%=oRec("Fraga")%></td></tr>
<tr><td width='200px' class='forum_text' height='5px'><img src='../pics/spacer.gif' border='0'></td></tr>
<tr><td width='200px' class='forum_text' height='10px'><%=pro1 & "&nbsp;" & svar1%></td></tr>
<tr><td width='200px' class='forum_text' height='5px'><img src='../pics/spacer.gif' border='0'></td></tr>
<tr><td width='200px' class='forum_text' height='10px'><%=pro2 & "&nbsp;" & svar2%></td></tr>
<tr><td width='200px' class='forum_text' height='5px'><img src='../pics/spacer.gif' border='0'></td></tr>
<tr><td width='200px' class='forum_text' height='10px'><%=pro3 & "&nbsp;" & svar3%></td></tr>
<tr><td width='200px' class='forum_text' height='10px'><img src='../pics/spacer.gif' border='0'></td></tr>
<tr><td width='200px' class='forum_text' height='5px'>Totalt&nbsp;<%=totalt & "&nbsp;röster sedan&nbsp;" & initDate%></td></tr>
</table>
<%
If intCounter Mod 3 = 0 Then Response.Write "</tr>"
Wend

If Not intCounter Mod 3 = 0 Then Response.Write "</tr>"

%>
</table>

_bör_ jag lägga allt i en response.write("") istället för att dra in lite tid?

Medlem sedan dec. 20003 887 inlägg
#7

Hehe... testa lägga till en oRec.MoveNext lite lagom innan Wend ;)

Medlem sedan feb. 20034 441 inlägg
#8

Hej

Det här var dagens tabbe. Jag satt imorse på jobet och skrev den här tråden, trött som jag var, skickade jag bara kvikt in igen när det inte funkade. Sen i bilen satt jag och funderade på vad det kunde vara, gick igenom rad för rad i huvudet, sen kom jag på att, ja, visst faan hade jag itne med moveNext, inte konstigt att det blev fel ;) Så nu när jag kom tillbaka (innan jag la kom hit till wF) så la jag till det och oj vad bra det funakr ;)

Medlem sedan dec. 20003 887 inlägg
#9

Det är så härligt med mornar :bire

Medlem sedan feb. 20034 441 inlägg
#10

Engine^ skrev:

Det är så härligt med mornar :bire

Ja, kan väl inte göra annat än att hålla med ;)

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