webForumDet fria alternativet

Dela upp resultatet i flera kolumner

ASP

12 svar · 308 visningar · startad av Sammy

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

Jag undrar hur jag med denna kod ska skriva för att dela upp resultatet i flera kolumner. Nu blir ju resultatet ståendes men säg att jag ex.vis skulle vilja att den visar två resultat för varje kolumn. ( eller flera ;) )

<TABLE bgcolor="#FFFFFF" width="95%" border="0" cellspacing="0" cellpadding="0">
<%
Set Connect = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("databas/mafdb.mdb")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

     Set RStemp = Connect.Execute("SELECT \* FROM SETS order by IDNR")

     Do Until RStemp.EOF

      Response.Write "\<TR\>\<TD align=center\>" &\_
                     "Click frame for a larger view\<BR\>" &\_
                     "\<A href=bild.asp?idnr=" & RStemp("IDNR") & "\>" &\_ 
                     "\<IMG src=images/collections/set01/" & RStemp("SET01") & "thmb.jpg width=130 border=0\>\<BR\>" & RStemp("SET01") & "" &\_
                     "\</A\>\<P\>" &\_
                     "\</TD\>\</TR\>"

     RStemp.MoveNext
     Loop
    %\>
  \</table\> 

  \<%
   Connect.close
   Set Connect = nothing
  %\>
Medlem sedan mars 2002777 inlägg
#2

Hej sammy. Kolla denna tråden som frågade samma innan idag. Exemplet ger 4 kolumner.

Ändra denna raden till önskat antal kolumner:

If intCheck = 4 Then

4:an står för 4 kolumner, byta till en 2:a om du vill ha 2 kolumner.

http://www.webforum.nu/showthread.php?s=&threadid=43443

Medlem sedan maj 2000202 inlägg
#3

Får felmeddelande när jag försöker med den koden?

Feltyp:
Körningsfel i Microsoft VBScript (0x800A000D)
Inkompatibla typer: 'ubound'
/maf/bild.asp, line 32

Medlem sedan mars 2002777 inlägg
#4
<TABLE bgcolor="#FFFFFF" width="95%" border="0" cellspacing="0" cellpadding="0"> 
<% 
Set Connect = Server.CreateObject("ADODB.Connection") 
MdbFilePath = Server.MapPath("databas/mafdb.mdb") 
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";" 

Set RStemp = Connect.Execute("SELECT * FROM SETS order by IDNR") 

Do Until RStemp.EOF 

If intCheck = 1 Then
	      Response.Write "<tr>"
	    End If
	   
	   Response.Write "<td align=""center"">" &_ 
"Click frame for a larger view<BR>" &_ 
"<A href=bild.asp?idnr=" & RStemp("IDNR") & ">" &_ 
"<IMG src=images/collections/set01/" & RStemp("SET01") & "thmb.jpg width=130 border=0><BR>" & RStemp("SET01") & "" &_ 
"</A><P></td>"

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

	      intCheck = 0
	    End If

	    intCheck = intCheck + 1
		RStemp.MoveNext 
Loop 

response.write "</table>" 

Connect.close 
Set Connect = nothing 
%>
Medlem sedan maj 2000202 inlägg
#5

Nu fungerade det alldelles utmärkt ;)

En konstig sak dock.. om jag har ojämnt antal lagrade (bilder, som i det här fallet) så blir en ruta tom längst upp till vänster? Det vore ju snyggast om den tomma rutan instället hamnade längst ner till vänster (ser mest naturligt ut)

Hur kommer det sig att det blir så?

Medlem sedan mars 2002777 inlägg
#6

det problemet får inte jag här när jag testar. Innehåller inte alla poster som du hämtar en bild?

Medlem sedan maj 2000202 inlägg
#7

Jo... det gör dem.. det är det som är så konstigt?

Medlem sedan mars 2002777 inlägg
#8

har du en url man kan kika på? Du har kanske fått dit någon <td> som inte ska vara där.

Medlem sedan aug. 2001226 inlägg
#9

ett annat sätt

[red]
nr = 0
Do Until RStemp.EOF

'Kod...
if nr mod 4 = 0 then
response.write "</tr><tr>
end if
nr = nr +1
loop
[/red]
Medlem sedan maj 2000202 inlägg
#10

Njae.. tyvärr.. kör bara lokalt just nu..

men jag använder exakt den kod du angav sist så det borde väl vara där felet ligger isf?

Hittar dock inget fel?

Medlem sedan maj 2000202 inlägg
#11

Så här blir koden och som du märker så saknas det en <TR> tagg längst upp tillsammans med att en kolumn fattas (den första)

  \<TABLE bgcolor="#FFFFFF" width="100%" border="0" cellspacing="0" cellpadding="0"\>
    \<td align="center"\>
     Click frame for a larger view\<BR\>\<A href=bild.asp?idnr=1\>\<IMG src=images/collections/set01/FC1021thmb.jpg width=130 border=0\>\<BR\>FC1021\</A\>
    \</td\>
   \<tr\>
    \<td align="center"\>
     Click frame for a larger view\<BR\>\<A href=bild.asp?idnr=2\>\<IMG src=images/collections/set01/FH1104-2thmb.jpg width=130 border=0\>\<BR\>FH1104-2\</A\>
    \</td\>
    \<td align="center"\>
     Click frame for a larger view\<BR\>\<A href=bild.asp?idnr=3\>\<IMG src=images/collections/set01/FH1108thmb.jpg width=130 border=0\>\<BR\>FH1108\</A\>
    \</td\>
   \</tr\>
   \<tr\>
    \<td align="center"\>
     Click frame for a larger view\<BR\>\<A href=bild.asp?idnr=4\>\<IMG src=images/collections/set01/FS1201thmb.jpg width=130 border=0\>\<BR\>FS1201\</A\>
    \</td\>
    \<td align="center"\>
     Click frame for a larger view\<BR\>\<A href=bild.asp?idnr=5\>\<IMG src=images/collections/set01/FS1601thmb.jpg width=130 border=0\>\<BR\>FS1601\</A\>
    \</td\>
   \</tr\>
  \</table\>
Medlem sedan mars 2002777 inlägg
#12

Ahh, en liten miss av mig ;)

lägg till den feta raden i din kod

[b]intCheck = 1[/b]
Do Until RStemp.EOF 

If intCheck = 1 Then
	      Response.Write "<tr>"
	    End If
Medlem sedan maj 2000202 inlägg
#13

Perfekt.. tackar och bugar för din hjälp och dina snabba svar ;)

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