Har nu suttit och knåpat hela förmiddagen men jag får inte ihop det. :(
Vill lista bilderna med 6 på varje rad. EXEMPEL
l BILD01 l BILD02 l BILD03 l BILD04 l BILD05 l BILD06 l
l BILD07 l BILD08 l BILD09 l BILD10 l BILD11 l BILD12 l
l BILD13 l BILD14 l BILD15 l BILD16 l BILD17 l BILD18 l osv osv..
Så snälla hjälp mig med detta problem så skulle jag bli jätte glad.
Tack på förhand och GOD JUL ALLIHOPPA! :birp :D
<%
Response.Write "<select onChange=""url=this.options[this.selectedIndex].value; if(url){ location.href=url; }"">"&_
"<option value="""">- - - - - - - - - - - - - - - - - - - - - - VÄL MAPP HÄR - - - - - - - - - - - - - - - - - - - - - -</option>"
Dim filesys, demofolder, subfol, folcoll, folist, mapp, SCRIPT_NAME
SCRIPT_NAME = Request.ServerVariables("SCRIPT_NAME")
Set Folder = CreateObject("Scripting.FileSystemObject")
Set demofolder = Folder.GetFolder(Folder.GetParentFolderName(Server.Mappath(SCRIPT_NAME)))
Set folcoll = demofolder.SubFolders
For Each subfol in folcoll
folist = folist & "<option value=""" & SCRIPT_NAME & "?mapp=" & subfol.Name & """>" & subfol.Name & "</option>"
Next
Response.Write folist & "</select>"
mapp = Request.querystring("mapp")
IF mapp <> "" then
Response.Write "<br /><b>" & mapp & "</b><p>"
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(mapp))
set Files = Folder.Files
For each Item In Files
If isValidFile(Item.Name) Then
Response.Write "<a href=""" & mapp & "/" & Item.Name & """ onClick=""imgPopup4(this.href); return false;""><img src=""" & mapp & "/" & Item.Name & """ alt="""" width=""150"" height=""100"" border=""0"" /></a><br />"
End if
Next
End If
Function isValidFile(filename)
fileExtension = lcase(right(filename,4))
select case fileExtension
case ".gif",".jpg",".png","jpeg"
isValidFile = TRUE
case else
isValidFile = FALSE
end select
End Function
%>
Okej, då skulle jag kanske använda mig av en tabell för det är enkelt och stabilt för att visa bilder såhär.
Du har ett kodstycke som ser ut såhär:
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(mapp))
set Files = Folder.Files
For each Item In Files
If isValidFile(Item.Name) Then
Response.Write "<a href=""" & mapp & "/" & Item.Name & """ onClick=""imgPopup4(this.href); return false;""><img src=""" & mapp & "/" & Item.Name & """ alt="""" width=""150"" height=""100"" border=""0"" /></a><br />"
End if
Next
End If
Det kan du ändra till
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(mapp))
set Files = Folder.Files
Dim count
count = 1
Response.write "<table>"
For each Item In Files
If isValidFile(Item.Name) Then
if count MOD 6 = 0 Then
Response.write "<tr>"
End if
Response.write "<td>"
Response.Write "<a href=""" & mapp & "/" & Item.Name & """ onClick=""imgPopup4(this.href); return false;""><img src=""" & mapp & "/" & Item.Name & """ alt="""" width=""150"" height=""100"" border=""0"" /></a>"
Response.write "</td>"
If count MOD 6 = 0 Then
Response.write "</tr>"
End if
End if
count = count + 1
Next
Response.write "</table>"
End If
Nu har jag inte testat, men jag tror det ska funka!
Nu har jag inte testat, men jag tror det ska funka!
Jätte tack! :)
Dock visar den bilderna så här.. hmm?
l BILD01 l BILD02 l BILD03 l BILD04 l BILD05 l
l BILD06 l
l BILD07 l BILD08 l BILD09 l BILD10 l BILD11 l
l BILD12 l
l BILD13 l BILD14 l BILD15 l BILD16 l BILD17 l
l BILD18 l
Det är nog så att din upplösning på din webbläsare mot bildernas upplösning gör så att bild 06,12 och 18 bryts pga att bilderna är lite för stora?
Ge oss en länk så vi kan se koden som genereras ut eller infoga HTML koden som byggs av ASP koden för mer felsökning.
nix.. jag kör bilderna i 50x50, sidan ligger lokalt på min dator.
Problemet ligger i koden, jag kör ju bara den i en ren sida, så det inns ingen annan kod som kan strula till det.
Jag har nog tänkt lite galet med min MOD-lösning. Testa att sätta
Dim count
count = 0
istället för som det står ovan!
Nu blir det så här :e hehe är jätte tacksam att du hjälper mig iaf =)
l BILD01 l
l BILD02 l BILD03 l BILD04 l BILD05 l BILD06 l
l BILD07 l
l BILD08 l BILD09 l BILD10 l BILD11 l BILD12 l
l BILD13 l
l BILD14 l BILD15 l BILD16 l BILD17 l BILD18 l
<%
Response.Write "<select onChange=""url=this.options[this.selectedIndex].value; if(url){ location.href=url; }"">"&_
"<option value="""">Välj mapp</option>"
Dim filesys, demofolder, subfol, folcoll, folist, mapp, SCRIPT_NAME
SCRIPT_NAME = Request.ServerVariables("SCRIPT_NAME")
Set Folder = CreateObject("Scripting.FileSystemObject")
Set demofolder = Folder.GetFolder(Folder.GetParentFolderName(Server.Mappath(SCRIPT_NAME)))
Set folcoll = demofolder.SubFolders
For Each subfol in folcoll
folist = folist & "<option value=""" & SCRIPT_NAME & "?mapp=" & subfol.Name & """>" & subfol.Name & "</option>"
Next
Response.Write folist & "</select>"
mapp = Request.querystring("mapp")
IF mapp <> "" then
Response.Write "<br /><b>" & mapp & "</b><p>"
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(mapp))
set Files = Folder.Files
Dim count
count = 0
For each Item In Files
If isValidFile(Item.Name) Then
if count MOD 6 = 0 Then
End if
Response.Write " <a href=""" & mapp & "/" & Item.Name & """ onClick=""imgPopup4(this.href); return false;"" target=""_blank""><img src=""" & mapp & "/" & Item.Name & """ alt="""" width=""135"" height=""80"" border=""0"" /></a>"
If count MOD 6 = 0 Then
End if
End if
count = count + 1
Next
End If
Function isValidFile(filename)
fileExtension = lcase(right(filename,4))
select case fileExtension
case ".gif",".jpg",".png","jpeg"
isValidFile = TRUE
case else
isValidFile = FALSE
end select
End Function
%>
<%
Response.Write "<select onChange=""url=this.options[this.selectedIndex].value; if(url){ location.href=url; }"">" & _
"<option value="""">Välj mapp</option>"
Dim filesys, demofolder, subfol, folcoll, folist, mapp, SCRIPT_NAME
SCRIPT_NAME = Request.ServerVariables("SCRIPT_NAME")
mapp = Request.querystring("mapp")
Set Folder = CreateObject("Scripting.FileSystemObject")
Set demofolder = Folder.GetFolder(Folder.GetParentFolderName(Server.Mappath(SCRIPT_NAME)))
Set folcoll = demofolder.SubFolders
For Each subfol in folcoll
folist = folist & "<option value=""" & SCRIPT_NAME & "?mapp=" & subfol.Name & """>" & subfol.Name & "</option>"
Next
Response.Write folist & "</select>" & vbCrLf & vbCrLf
IF mapp <> "" then
Response.Write "<br /><b>" & mapp & "</b><p>"
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(mapp))
set Files = Folder.Files
Dim count
count = 1
If Files.Count > 0 Then
Response.Write "<table>" & vbCrLf & "<tr>" & vbCrLf
For each Item In Files
If isValidFile(Item.Name) Then
Response.Write "<td><a href=""" & mapp & "/" & Item.Name & """ onClick=""imgPopup4(this.href); return false;"" target=""_blank"">!<img src=""" & mapp & "/" & Item.Name & """ alt="""" width=""135"" height=""80"" border=""0"" /></a></td>" & vbcrlf
If count MOD 6 = 0 Then
Response.Write "</tr>"&vbCrLf&"<tr>" & vbCrLf
End if
End if
count = count + 1
Next
Response.Write "</tr></table>"
End If
End If
Function isValidFile(filename)
select case lcase(right(filename,4))
case ".gif",".jpg",".png","jpeg"
isValidFile = TRUE
case else
isValidFile = FALSE
end select
End Function
%>
Precis, drömde till och med om det här i min feberyra, får skylla på det att jag inte tänker klart :)
Att jag skulle posta det eller? :P
Kan ju nämna att jag inte ha "brytt" mig om att om du har filer i mappen och det är bara filer som inte är OK enligt isValidFile så kommer den skriva ut en table ändå med inga <td>...
Kollade koden igen... den är inte alls rätt.
Koden ovan kommer att kunna räkna fel när den ska bryta då den läser av alla filer i mappen. Så om vi har 12 bilder men endast 8 av dom så kommer den ändå bryta när fil nummer 6 har kontrollerats.
Jag gjorde en funktion av den istället och nu ska den inte rita ut en table om du inte har några bilder:
Function RenderImagesList(sFolder,lImagesPerRow)
Dim retrunString, FSO, Folder, Files, count
If sFolder <> "" Then
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(sFolder))
set Files = Folder.Files
count = 1
If Files.Count > 0 Then
For each Item In Files
If isValidFile(Item.Name) Then
retrunString = retrunString & "<td><a href=""" & sFolder & "/" & Item.Name & """ onClick=""imgPopup4(this.href); return false;"" target=""_blank""><img src=""" & mapp & "/" & Item.Name & """ alt="""" width=""135"" height=""80"" border=""0"" /></a></td>" & vbcrlf
If count MOD lImagesPerRow = 0 Then
retrunString = retrunString & "</tr>"&vbCrLf&"<tr>" & vbCrLf
End if
count = count + 1
End if
Next
If Len(retrunString) > 0 Then retrunString = "<p><table><tr>" & retrunString & "</tr></table></p>"
End If
Set FSO = Nothing
Set Folder = Nothing
Set Files = Nothing
End If
RenderImagesList = "<br/><b>" & sFolder & "</b>" & retrunString
End Function
<%
Response.Write "<select onChange=""url=this.options[this.selectedIndex].value; if(url){ location.href=url; }"">" & _
"<option value="""">Välj mapp</option>"
Dim filesys, demofolder, subfol, folcoll, folist, mapp, SCRIPT_NAME
SCRIPT_NAME = Request.ServerVariables("SCRIPT_NAME")
mapp = Request.querystring("mapp")
Set Folder = CreateObject("Scripting.FileSystemObject")
Set demofolder = Folder.GetFolder(Folder.GetParentFolderName(Server.Mappath(S CRIPT_NAME)))
Set folcoll = demofolder.SubFolders
For Each subfol in folcoll
folist = folist & "<option value=""" & SCRIPT_NAME & "?mapp=" & subfol.Name & """>" & subfol.Name & "</option>"
Next
Response.Write folist & "</select>" & vbCrLf & vbCrLf
IF mapp <> "" then
Response.Write "<br /><b>" & mapp & "</b><p>"
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(mapp))
set Files = Folder.Files
Dim count
count = 1
If Files.Count > 0 Then
Response.Write "<table>" & vbCrLf & "<tr>" & vbCrLf
For each Item In Files
If isValidFile(Item.Name) Then
Response.Write "<td><a href=""" & mapp & "/" & Item.Name & """ onClick=""imgPopup4(this.href); return false;"" target=""_blank"">!<img src=""" & mapp & "/" & Item.Name & """ alt="""" width=""135"" height=""80"" border=""0"" /></a></td>" & vbcrlf
If count MOD 6 = 0 Then
Response.Write "</tr>"&vbCrLf&"<tr>" & vbCrLf
End if
End if
count = count + 1
Next
Response.Write "</tr></table>"
End If
End If
Function RenderImagesList(sFolder,lImagesPerRow)
Dim retrunString, FSO, Folder, Files, count
If sFolder <> "" Then
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(sFolder))
set Files = Folder.Files
count = 1
If Files.Count > 0 Then
For each Item In Files
If isValidFile(Item.Name) Then
retrunString = retrunString & "<td><a href=""" & sFolder & "/" & Item.Name & """ onClick=""imgPopup4(this.href); return false;"" target=""_blank""><img src=""" & mapp & "/" & Item.Name & """ alt="""" width=""135"" height=""80"" border=""0"" /></a></td>" & vbcrlf
If count MOD lImagesPerRow = 0 Then
retrunString = retrunString & "</tr>"&vbCrLf&"<tr>" & vbCrLf
End if
count = count + 1
End if
Next
If Len(retrunString) > 0 Then retrunString = "<p><table><tr>" & retrunString & "</tr></table></p>"
End If
Set FSO = Nothing
Set Folder = Nothing
Set Files = Nothing
End If
RenderImagesList = "<br/><b>" & sFolder & "</b>" & retrunString
End Function
%>
<%
Dim filesys, demofolder, subfol, folcoll, folist, mapp, SCRIPT_NAME
SCRIPT_NAME = Request.ServerVariables("SCRIPT_NAME")
mapp = Request.querystring("mapp")
Response.Write "<select onChange=""url=this.options[this.selectedIndex].value; if(url){ location.href=url; }"">" & _
"<option value="""">Välj mapp</option>"
Set Folder = CreateObject("Scripting.FileSystemObject")
Set demofolder = Folder.GetFolder(Folder.GetParentFolderName(Server.Mappath(SCRIPT_NAME)))
Set folcoll = demofolder.SubFolders
For Each subfol In folcoll
folist = folist & "<option value=""" & SCRIPT_NAME & "?mapp=" & subfol.Name & """>" & subfol.Name & "</option>"
Next
Response.Write folist & "</select>" & vbCrLf & vbCrLf
Set Folder = Nothing
Set demofolder = Nothing
Set folcoll = Nothing
Response.Write RenderImagesList(mapp, 6) ' ### Draw all the Images in a nice table list.
' Function that Renders out the Images in a specific folder.
' ## sFolder - String: Folder Name.
' ## lImagesPerRow - Long: How many Images per row should be rendered.
Function RenderImagesList(sFolder,lImagesPerRow)
Dim retrunString, FSO, Folder, Files, count
If sFolder <> "" Then
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(sFolder))
set Files = Folder.Files
count = 1
If Files.Count > 0 Then
For each Item In Files
If isValidFile(Item.Name) Then
retrunString = retrunString & "<td><a href=""" & sFolder & "/" & Item.Name & """ onClick=""imgPopup4(this.href); return false;"" target=""_blank""><img src=""" & mapp & "/" & Item.Name & """ alt="""" width=""135"" height=""80"" border=""0"" /></a></td>" & vbcrlf
If count MOD lImagesPerRow = 0 Then
retrunString = retrunString & "</tr>"&vbCrLf&"<tr>" & vbCrLf
End if
count = count + 1
End if
Next
' If No matches from isValidFile function we wont have any length on the string below. We wont render out the start code for a HTML table.
If Len(retrunString) > 0 Then retrunString = "<p><table><tr>" & retrunString & "</tr></table></p>"
End If
Set FSO = Nothing
Set Folder = Nothing
Set Files = Nothing
End If
RenderImagesList = "<br/><b>" & sFolder & "</b>" & retrunString
End Function
' Function That checks if the file is a vaild file to render out.
Function isValidFile(filename)
Select Case lcase(right(filename,4))
Case ".gif",".jpg",".png","jpeg"
isValidFile = True
CaseElse
isValidFile = False
End Select
End Function
%>
Är om du ersätter allt som du har postat tidigare.
Du saknade:
Response.Write RenderImagesList(mapp, 6)
Och jag gjorde även lite ändringar i din kod att avsluta de objekt du har öppnat men inte avslutat.
Set Folder = Nothing
Set demofolder = Nothing
Set folcoll = Nothing