Avatar billede elborg Novice
11. maj 2010 - 19:39 Der er 2 kommentarer og
1 løsning

Vise bestemte billeder fra bestemt mappe

Jeg har hundredevis af billeder i en mappe og alle billederne er navngivet efter et bestemt princip:


000001_blablabla.jpg
000015_nogetandet.jpg
000015_nogetandet_8888.jpg
000015_blablabla.jpg
000029_nlabla.jpg
000029_xxxxxx.jpg
000301_cccddd.jpg
.
.
.osv

er der en måde der kan bruges så man kun viser nogle bestemte billeder ?

f.eks. alle billeder med ID nr.15 som er tegn nr.5 og 6 i billedfil-navnet.

Jeg har lavet følgende kode hvor jeg kalder ID nr.15, men tegn nr.5 og 6 omdøbes til 15 på alle billederne ??



<%
Dim DBconn
Set DBconn = Server.CreateObject("ADODB.Connection")
DBconn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("../dindatabase.mdb")

Dim rs, query
Set rs = Server.CreateObject("ADODB.RecordSet")

query = "SELECT * FROM Medarbejdere WHERE WorkerID=15"
rs.Open query, DBconn

Response.Write "<html>"
Response.Write "<head>"
Response.Write "<title>"
Response.Write "Fotos"
Response.Write "</title>"

Response.Write "<link rel=stylesheet href=""../CSS/style.css"" type=""text/css"">"
Response.Write "</head>"
Response.write "<body>"

Response.Write "<h2><center>"
Response.Write "Ffotos"
Response.Write "</h2>"


ImageDir = "../images/"
Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder(Server.MapPath(ImageDir))
Set objFiles = objFolder.Files

For Each Image In objFiles

If len(rs("WorkerID")) = 1 Then
Response.Write "00000"
ElseIf len(rs("WorkerID")) = 2 Then
Response.Write "0000"
ElseIf len(rs("WorkerID")) = 3 Then
Response.Write "000"
ElseIf len(rs("WorkerID")) = 4 Then
Response.Write "00"
ElseIf len(rs("WorkerID")) = 5 Then
Response.Write "0"
End If

Response.Write left(rs("WorkerID"),6)
Response.Write right((Image.Name), len(Image.Name)-6)
Response.Write "<br/>"

Next

Set objFS = Nothing


RS.Close
DBConn.Close
Set DBConn = Nothing

Response.Write "</body>"
Response.Write "</html>"
%>
Avatar billede Slettet bruger
12. maj 2010 - 00:32 #1
Kan man ikke bare tjekke om 5. og 6. tegn er tallet femten?
Som her:


Set objFS = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFS.GetFolder(Server.MapPath(ImageDir))
for each file in objFolder.files
filename=file.name
if mid(filename,5,2) then
%>
<img src="<%=filename%>">
<%
end if
next
set objFolder=nothin
set objFS=nothing

\Dan
Avatar billede elborg Novice
12. maj 2010 - 13:31 #2
Dette giver samme resultat, den viser alle de billeder som har et tocifret ID i tegn nummer 5 og 6 i billedfilnavnet.

Er det ikke noget i retning af:

<%
for each file in objFolder.files where rs("WorkerID")=15
%>
Avatar billede elborg Novice
11. juni 2010 - 09:31 #3
fandt selv ud af det
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester