Avatar billede plato Juniormester
09. april 2006 - 20:20 Der er 9 kommentarer og
1 løsning

Hjælp til speciel asp udtræk

Hejsa NG

Jeg vil gerne lave et udtræk med 6 elementer fra en tabel. Altså en Select TOP 6.

Dog ønsker jeg ikke den skal liste dem på en normal måde som:
1
2
3
4
5
6

Men benytte <tr> og <td> og liste elementerne som dette:
1          4
2          5
3          6

Men jeg har ingen idé hvordan jeg benytter asp koden til at fortælle den skal liste 3 ned, ny række, 3 ned igen.

Nogen der kan hjælpe mig med sådanne en kode?
Avatar billede tofte Juniormester
09. april 2006 - 20:33 #1
Der er mange måder at gøre hvis det altid er 6, kan du bare lave to recordset som begge laver en select top 6. Så kan du bladre det ene recordset 3 frem og udskrive dem parallelt

set record1 = con.execute("bla bla top 6 bla bla")
set record2 = con.execute("bla bla top 6 bla bla")
for a = 1 to 3
record2.movenext
mext

while not record1.eof OR record2.eof%>
<tr>
  <td><%=record1("felt")%></td>
  <td><%=record2("felt")%></td>

</tr>

<%
record1.movenext
record2.movenext
wend
Avatar billede plato Juniormester
09. april 2006 - 20:45 #2
Er det sådan du mener?:

<%
set record1 = con.execute("SELECT TOP 6  * FROM poster  ORDER BY id DESC")
set record2 = con.execute("SELECT TOP 6  * FROM poster  ORDER BY id DESC")

for a = 1 to 3
record2.movenext
next

while not record1.eof OR record2.eof%>
<tr>
  <td><%=record1("titel")%></td>
  <td><%=record2("titel")%></td>

</tr>

<%
record1.movenext
record2.movenext
wend
%>

Den giver følgende fejl:
Microsoft VBScript runtime  error '800a01a8'

Object required: 'con'

/testudtrak.asp, line 3
Avatar billede tofte Juniormester
09. april 2006 - 20:47 #3
ja, men du skal ikke bruge con, men nanvet på din connection
Avatar billede morhan Novice
09. april 2006 - 20:49 #4
Du kan også benytte kalde GetRows på dit recordset. Så får du resultatet i et array.

rows tilgåes: rows(kolonne-index,i)


rows = record.GetRows

Response.Write "<table>"

For i=0 To 5 Step 2
    Response.Write "<tr><td>" & rows(1,i) & "</td><td>" & rows(1,i+1) & "</td></tr>"

Next

Response.Write "</table>"
Avatar billede plato Juniormester
09. april 2006 - 20:57 #5
Oki, jeg er lidt lost nu:
<%
set record1 = strSQL = "SELECT TOP 6  * FROM poster  ORDER BY id DESC"
set record2 = strSQL = "SELECT TOP 6  * FROM poster  ORDER BY id DESC"
Set rs = objConn.Execute(strSQL)
for a = 1 to 3
record2.movenext
next

while not record1.eof OR record2.eof%>
<tr>
  <td><%=record1("titel")%></td>
  <td><%=record2("titel")%></td>

</tr>

<%
record1.movenext
record2.movenext
wend
%>
Sådan?
Ellers kan du pensle det ud for mig.
Avatar billede cpufan Juniormester
09. april 2006 - 21:14 #6
Set rs = objConn.Execute("SELECT TOP 6  * FROM poster  ORDER BY id DESC")
dim recordarray(6)
i = 0
while not rs.eof
recordarray(i) = rs("titel")
i = i +1
rs.movenext
wend
i=0
response.write"<table>"
for i =0 to 2
response.write "<tr><td>recordarray(i)</td><td>recordarray(i+3)</td></tr>"
next
response.write"</table>"
Avatar billede cpufan Juniormester
09. april 2006 - 21:16 #7
hov der er naturligvis fejl retter lige:

Set rs = objConn.Execute("SELECT TOP 6  * FROM poster  ORDER BY id DESC")
dim recordarray(6)
i = 0
while not rs.eof
recordarray(i) = rs("titel")
i = i +1
rs.movenext
wend
i=0
response.write"<table>"
for i =0 to 2
response.write "<tr><td>"&recordarray(i)&"</td><td>"&recordarray(i+3)&"</td></tr>"
next
response.write"</table>"
Avatar billede morhan Novice
09. april 2006 - 21:18 #8
cpufan, når GetRows findes, så synes jeg altså den metode er lidt "klodset" =)
Avatar billede plato Juniormester
09. april 2006 - 21:19 #9
Rigtig nice. Tak!
Avatar billede cpufan Juniormester
09. april 2006 - 21:22 #10
morhan, ja det er korrekt, kender den faktisk heller ikke, - før nu
så skulle du nok ha' skrevet hele eksemplet for at han forstod det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester