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
