---
title: "lista bilder > använda pagin"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/41082-lista-bilder-använda-pagin"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "roady"
published: "2002-04-08T09:10:18.000Z"
updated: "2002-04-08T14:04:41.000Z"
replies: 23
views: 555
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/41082-lista-bilder-använda-pagin"
---

# lista bilder > använda pagin

_Sida 1 av 2._

## #1 — roady, 2002-04-08T09:10Z

Jag har en fråga och om det går så skulle det vara lite trevligt med hjälp...

Jag skulle vilja visa bilder från en mapp, 9st åt gången!

Sättet jag vill visa dem på är:

Bild1     Bild2      Bild3
Bild4     Bild5      Bild6
Bild7     Bild8      Bild9

Och sedan om det finns fler bilder så skall det vara en pagin osv. Tror ni förstår idéen. Jag har inte fått så mycket att funka än, men hur gör man och är det möjligt?

Skall man använda sig med pagin så måste man väll först räkna antalet bilder i mappen???

```
<% Option Explicit

	Dim objFSO, objFolder, objFile, File

	Set objFSO = CreateObject ("Scripting.FileSystemObject")
	Set objFolder = objFSO.GetFolder ("C:\InetPub\wwwroot\lista\bilder")

%>
<html>
<head>
	<title>Bilder...</title>
</head>

<body>
Antalet bilder i mappen:
<%
	For Each objFile In objFolder.Files
		File = File + 1
	Next

	response.write File
%>

Bilderna i mappen:
<TABLE>
	<TR>
<%

	For Each objFile In objFolder.Files
		IF LCase(Right(objFile.Name, 4)) = ".jpg" THEN
			response.write "<TD><IMG src=bilder\" & objFile.Name & " width=100 heigth=100></TD>"
		END IF
	Next

%>
	</TR>
</TABLE>

<%
	Set objFSO = Nothing
	Set objFolder = Nothing
%>
</body>
</html>
```

Permalänk: https://www.webforum.nu/p/41082

## #2 — skyman, 2002-04-08T09:19Z

Kolla in denna:
<http://www.webforum.nu/showthread.php?s=&threadid=37442&highlight=paging>

Permalänk: https://www.webforum.nu/p/639544

## #3 — roady, 2002-04-08T09:25Z

Jo, men detta är det vanliga att man listar från en databas...

Det jag vill göra är att lista antal bilder från en mapp, funkar det eller måste man lägga in bildsökvägarna i en databas?

Permalänk: https://www.webforum.nu/p/639549

## #4 — skyman, 2002-04-08T09:33Z

Du kan väl lägga in endast namnet på bilden (om alla kommer ligga i samma katalog) sedan ange sökvägen i asp-koden?
namn  \| url

Sven  \| bild1.jpg
Kalle   \| bild2.jpg
Britta  \| bild3.jpg
Kurt    \| bild4.jpg

Permalänk: https://www.webforum.nu/p/639552

## #5 — roady, 2002-04-08T09:44Z

Jo, men det som har tänkt är ex. att jag har 18 landskapsbilder jag vill lista, om jag i sådana fall skulle gå genom en databas så skulle det senare i längden bli jobbigt. 

Därför vill jag visa bilderna direkt från mappen, men efter ett tag så kanske jag kommer att ha 35 landskapsbilder, vilket blir lite mycket att visa på samma gång och därför vill jag ha en pagin-funktion.

Permalänk: https://www.webforum.nu/p/639560

## #6 — @nders, 2002-04-08T09:53Z

Jag hittade denna tråd, se om den kan hjälpa: <http://www.webforum.nu/showthread.php?s=&threadid=38820>

Mvh,

Permalänk: https://www.webforum.nu/p/639566

## #7 — skyman, 2002-04-08T10:58Z

Tack @aders...
Jag har själv letat efter en sådan funktion :)

Permalänk: https://www.webforum.nu/p/639602

## #8 — roady, 2002-04-08T11:12Z

Detta var ju helt underbart...
Precis vad jag ville ha och har änteligen fått det att funka...

Men nu kommer jag tillbaka till en fråga jag hade i början:

> Sättet jag vill visa dem på är: 
> 
> Bild1 Bild2 Bild3 
> Bild4 Bild5 Bild6 
> Bild7 Bild8 Bild9

Jag kan bara få dem att listas:
Bild1 Bild2 Bild3

Antar att det är någon jobbigt loop-sats man skall använda sig av!

Permalänk: https://www.webforum.nu/p/639608

## #9 — skyman, 2002-04-08T11:18Z

Sätt en räknare i for-loopen och varje gång talet är jämnt delbart med tre: sätter du ett \<br\> eller \</tr\> om du använder tables.

Permalänk: https://www.webforum.nu/p/639615

## #10 — @nders, 2002-04-08T11:18Z

Hur ser din kod ut nu?

Jag antar att det du vill är att få till någon sorts radbrytning efter var 3:e bild?

Före loopen: **intCounter = 0**

I loopen:

```
intCounter = intCounter + 1
' visa bilden
if intCounter mod 3 = 0 then
' fixa radbrytning
end if
```

Något att börja med kanske...

Mvh,

Permalänk: https://www.webforum.nu/p/639617

## #11 — roady, 2002-04-08T11:23Z

\*kliar sig hårt i huvudet\*

Såhär ser koden ut, 

```
'## -- startar tabellen utanför loopen --
	Response.Write ("<table border=""1"" cellpadding=""4"" cellspacing=""0"" width=""650""><TR>")

'## -- Loopen av bilderna börjar
	For I = intStartID To ((intStartID + intPageSize) -1)
	'intId = arrRecords(0,I)

		strImageName = arrRecords(0,I)

		'## -- skriv ut en bild --
		Response.Write "<TD><IMG src=""bilder/" & strImageName & """>"
			If I = UBound(arrRecords, 2) Then Exit For
	Next

'## -- stänger tabellen efter loopen --
	Response.Write("</TR></table>")
```

Hittade någonstans att man kan göra såhär:

```
<%
Nynr = 0
Do until News.EOF 
'skriv ut
IF Nynr mod 4 = 0 and nynr > 0 then %><p> <%
end if
Nynr = Nynr + 1
News.MoveNext
Loop
%>
```

Men hur får jag ihop det hela... Sedan tänkte jag på det som du skrev, jag visar ju max 9 bilder åt gången, men när bilderna tar slut så kanske det bara visas 5 och det kan man ju inte dela på 3!

Permalänk: https://www.webforum.nu/p/639620

## #12 — roady, 2002-04-08T11:41Z

Fick det att funka med:

```
'## -- startar tabellen utanför loopen --
	Response.Write ("<table border=""1"" cellpadding=""4"" cellspacing=""0"" width=""650""><TR>")

'## -- Loopen av bilderna börjar
	For I = intStartID To ((intStartID + intPageSize) -1)
	'intId = arrRecords(0,I)
		intCounter = intCounter + 1
		strImageName = arrRecords(0,I)

		'## -- skriv ut en bild --
		Response.Write "<TD><IMG src=""bilder/" & strImageName & """>"
			If I = UBound(arrRecords, 2) Then Exit For
	'## -- Kollar om tre bilder har gått
	If intCounter mod 3 = 0 then
		response.write "<TR>"
	End IF
	Next

'## -- stänger tabellen efter loopen --
	Response.Write("</TR></table>")
```

men jag har en liten fråga.....
när jag tittar på \<html\> - koden i webläsaren så är det ett väldigt långt mellanrum mellan

\<IMG src="bilder/bilden.jpg

                                                           "\>

varför blir det så?

och den skriver ut en extra \<tr\>\</tr\> i slutet som är helt tom? :q

Permalänk: https://www.webforum.nu/p/639623

## #13 — @nders, 2002-04-08T11:47Z

Det är möjligt att det där fungerar, men det är inte rätt.
Du avslutar ingen \<td\>-tagg, och inte heller någon \<tr\>-tagg.

Du får nog gå igenom din tabell ordentligt och se till så din html är korrekt. Det är nog bara IE (som felaktigt) visar din tabell som du tänkt dig.

Ang. din lilla fråga kan det vara så ett det ligger en dold tabb i koden precis där. Prova att skriva om dina citationstecken.

Mvh,

Permalänk: https://www.webforum.nu/p/639626

## #14 — solbulle, 2002-04-08T11:48Z

Den gör vad du säger till den att göra  ;)
 

```
If intCounter mod 3 = 0 then
		response.write "<TR>"
	End IF
```

Gör ju att den skriver den tomma \<tr\>, Du borde kunna flytta upp innan du fyller ditt table i istället. Till början av For-slingan.

Äsch...

Permalänk: https://www.webforum.nu/p/639627

## #15 — Jörgen HP, 2002-04-08T12:19Z

Testad kod som fungerar:

Inte det optmila sättet, men det enkla.

```
For i = 0 To ubound(arrMyArray,2)

If intCheck = 1 Then Response.Write "<tr>"
	   
Response.Write "<td>någon info</td>"

If intCheck = 3 Then
   Response.Write "</tr>"
intCheck = 0
End If

intCheck = intCheck + 1
		
Next
```

Permalänk: https://www.webforum.nu/p/639637

## #16 — roady, 2002-04-08T12:24Z

Fick det precis att fungera med:

```
'## -- startar tabellen utanför loopen --
	Response.Write ("<table border=""1"" cellpadding=""4"" cellspacing=""0"" width=""650""><TR>")

'## -- Loopen av bilderna börjar

	For I = intStartID To ((intStartID + intPageSize) -1)
	'intId = arrRecords(0,I)
		intCounter = intCounter + 1
		strImageName = arrRecords(0,I)

		'## -- skriv ut en bild -- 
		response.write "<TD><IMG src=""bilder/" & strImageName & """></TD>"
			If I = UBound(arrRecords, 2) Then Exit For
	'## -- Kollar om tre bilder har gått

	IF intCounter = 9 Then 
		response.write ""
	ELSEIF intCounter mod 3 = 0 then
		response.write "</TR><TR>"
	End IF
	Next

'## -- stänger tabellen efter loopen --
	Response.Write("</TR></table>")
```

Inte kanske för att man skall bry sig, men när man tittar på \<html\> koden som skrivs ut så blir det en ända lång rad

Och sedan vid:
response.write "\<TD\>\<IMG src=""bilder/" & strImageName & """\>\</TD\>" 
Blir:
\<TD\>\<IMG src="bilder/Pict0006.jpg

                                         "\>\</TD\> 
Så blir det ett jätte långt mellanrum i \<html\> koden, varför detta?

Permalänk: https://www.webforum.nu/p/639640

## #17 — skyman, 2002-04-08T12:40Z

prova med att skriva:
trim(strImageName) där du skriver sökvägen.
Förmodligen massa skräputrymme från databasen.

Permalänk: https://www.webforum.nu/p/639651

## #18 — roady, 2002-04-08T12:57Z

Ser mycket bättre ut, men har ännu inte fått svar på en fråga...

när man använder sig utan 
   response.write "en massa kod"

så skrivs allt ut på en enda rad,,, detta kan man undankomma med "\<br\>", men när man skriver tabeller så funkar det ju inte så!

Permalänk: https://www.webforum.nu/p/639667

## #19 — skyman, 2002-04-08T13:06Z

Jag förstår inte. Vad är frågan?

Permalänk: https://www.webforum.nu/p/639677

## #20 — solbulle, 2002-04-08T13:09Z

Om det är i htmlkoden du vill ha radbrytningar kan du skriva:

```
response.write "<TD><IMG src=""bilder/" & strImageName & """></TD>" & vbcrlf
```

Permalänk: https://www.webforum.nu/p/639680

---

Tråden på webben: https://www.webforum.nu/amne/asp/41082-lista-bilder-använda-pagin  
Nästa sida: https://www.webforum.nu/amne/asp/41082-lista-bilder-använda-pagin/page2.md
