Men herregud människor!!! Skicka inte så förbannat mycket kod jag kan ju inte koncentrera mig så länge det tar att läsa igenom allt
Hej! det är så att jag har en sida där jag ska visa bilder och då har jag ett pagingscript till detta och jag vill att det ska visas 6 bilder i varje kolumn och sen ny rad, det fyllas på rader beronde på hur många bilder det ligger i den mappen... ja ni förstår
jag har fixat lite med denna koden men får inte den att fungera... bilderna byter inte rad utan visas bara på en lång rad
<%
'## -- hämta alla poster --
Function getImages
Dim objFSO, objFolder, File, objRSimg
Dim strExtension
Const adChar = 129
'## -- skapar recordsetet --
Set objRSimg = Server.CreateObject("ADODB.Recordset")
'## -- skapar en kolumn i recordsetet --
objRSimg.Fields.Append "ImageName", adChar, 255
'## -- öppnar recordsetet. Notera att nu behövs ingen
'## sql-fråga eller connection object eftersom
'## vi skapar det dynamiskt och sedan fyller det --
objRSimg.Open
'## -- skapar ett filesystemobject för att kunna få mapp information --
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
'## -- fysiska sökvägen till mappen från root --" & strFolder & "
strFolderPath = Server.MapPath("\pump\foto\mode\v8\thumbnails\")
'## -- hämta folder info --
Set objFolder = objFSO.GetFolder(strFolderPath)
'## -- här börjar vi att loopa igenom alla filer som finns
'## i mappen --
For Each File IN objFolder.Files
'## -- vilken filändelse har filen --
strExtension = objFSO.GetExtensionName(File)
'## -- se till att ändast giltiga bild-filer
'## läggs till i recordsetet. gif eller jpeg --
Select Case UCase(strExtension)
Case "GIF", "JPG"
'## -- ställ recordsetet i update läge --
objRSimg.AddNew
'## -- vilken information ska läggas till
'## i kolumnen --
objRSimg("ImageName") = File.Name
'## -- uppdatera recordsetet med en ny post --
objRSimg.Update
End Select
Next
Set objFolder = Nothing
Set objFSO = Nothing
If Not objRSimg.EOF Then
objRSimg.MoveFirst
getImages = objRSimg.GetRows()
End If
objRSimg.Close
Set objRSimg = Nothing
End Function
'## -- vilken post ska pagingen börja på --
Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
Dim m_intStart
m_intStart = ((PageSize * ViewPage) - PageSize)
getStartID = m_intStart
End Function
'## -- räkna ut hur många sidor som ska visas --
Function countPages(ByVal HowManyRecords, ByVal PageSize)
Dim m_intTotalPages, m_intRest
m_intTotalPages = HowManyRecords / PageSize
If m_intTotalPages < 1 Then
m_intTotalPages = 1
Else
m_intRest = m_intTotalPages - CLng(m_intTotalPages)
If m_intRest > 0 AND m_intRest < 0.5 Then
m_intTotalPages = CLng(m_intTotalPages) + 1
Else
m_intTotalPages = CLng(m_intTotalPages)
End If
End If
'## -- return how many pages --
countPages = m_intTotalPages
End Function
'##***********************************************************************************
Dim arrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intTotalPages
Dim intTotalRecords
'Egna Vriabler
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
'## -- hur många poster ska visas per sida --
intPageSize = 4
'## -- hämta alla records, hämtas med metoden getrows och returneras
'## som en array. --
'## -- här hämtar vi alla bilder till en 2 dimensionell array --
arrRecords = getImages
'## -- vilken post är den första --
intStartID = getStartID(intPageSize, intPage)
'## -- printa ut sidan som ska visas
'## alla poster finns i arrayen arrRecords som
'## kommer från funktionen getRecords --
If IsArray(arrRecords) Then
'Response.Write "E ju en array<BR>"
'## -- hur många records finns det totalt --
intTotalRecords = UBound(arrRecords,2) + 1
'## -- hur många sidor finns det i recordsetet --
intTotalPages = countPages(intTotalRecords, intPageSize)
'## -- startar tabellen utanför loopen --
Response.Write("<div align=""center"">")
Response.Write ("<table border=""0"" cellpadding=""2"" cellspacing=""4"">")
Response.Write "<tr>"
Call PrevPage(intPage)
'## -- Loopen av bilderna börjar
intCounter = intCounter + 1
For I = intStartID To ((intStartID + intPageSize) -1)
iNr = I + 1
strImageName = arrRecords(0,I)
'## -- skriv ut en bild --
Response.Write ("<TD align=""center""><A href=""bildpres.asp?mapp="& strFolder &"&rosta="& strVote &"&bild="& strImageName &""" target=""TopFrame""><IMG src=""" & strFolder & "/thumbnails/" & strImageName & " "" border=""0"" alt=""""></A><br>" & iNr & "</TD>")
If intCounter mod 2 = 0 Then Response.Write "</tr><tr>"
If I = UBound(arrRecords, 2) Then Exit For
Next
'## -- stänger tabellen efter loopen --
If intCounter mod 2 <> 0 Then
Do Until intCounter mod 2 = 0
Response.Write "<td> </td><td></td>"
intCounter = intCounter + 1
Loop
End If
Response.Write "</tr></table><br>"
Call NextPage(intTotalPages,intPage)
'Response.Write("</tr></table>")
'Response.Write("</div>")
'## -- skriv ut sidnavigerings menyn --
'## -- skriver ut sidnavigeringen --
'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriver ut sidnavigeringen --
'## -- skriv ut en länk till föregående sida --
If CInt(WichPage) > 1 Then
Response.Write("<td align=""left"">" & _
"<a href='" & strScriptName & "?" & "mapp=" & Server.URLEncode((strFolder)) & "&rosta="& strVote &"&page=" & WichPage - 1 & "'>" & _
"<img border=""0"" src=""../bilder/knappar/left.gif"" alt=""Gå " & intPageSize & " bilder bakåt...""></a></td>")
Else
Response.Write("<td align=""left""></td>")
End If
End Sub
'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
Dim strScriptName
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- skriv ut en länk till nästa sida --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write("<td align=""right"">" & _
"<a href='" & strScriptName & "?" & "mapp=" & Server.URLEncode((strFolder)) & "&rosta="& strVote &"&page=" & WichPage + 1 & "'>" & _
"<img border=""0"" src=""../bilder/knappar/right.gif"" alt=""Gå " & intPageSize & " bilder framåt..""></a></td>")
Else
Response.Write("<td align=""right""></td>")
End If
End Sub
Else
'## -- inga poster fanns i db --
intPage = 0
intTotalRecords = 0
intTotalPages = 0
'## -- skriv ut att inga poster hittades --
Response.Write("<P>Inga bilder hittades</P>")
End If
%>
Tack på förhand
Jonas
