-Krav: Skal hente billeder fra en mappe. Billeder kan hedde: 0001.jpg 0001-2.jpg 0001-3.jpg og f.eks 0002.jpg 0002-2.jpg Scriptet skal finde alle de billeder i mappen der hedder noget med '0001' og '.jpg' til sidst. Scriptet skal vise billeder '0001.jpg', hvorunder der skal være tre links 1-2-3. Hvis man trykker på 2-tallet, viser den billedet '0001-2.jpg' og det samme sker ved 3-tallet, hvor den viser billedet '0001-3.jpg.
Når man trykker på billedet skal den gå ind på en side der hedder f.eks. '0001.asp?nr=2' hvis det er billedet '0001-2.jpg'
Lyder satme godt! Hvis du får lavet et script der passer perfect, får du dobbelt point
Synes godt om
Slettet bruger
28. marts 2007 - 17:54#3
sådanner!
<% foldername = "0001" if request.querystring("nr")<>"" then if request.querystring("nr")=1 then %> <img src="<%=foldername & "/" & foldername & ".jpg"%>"> <% else %> <img src="<%=foldername & "/" & foldername & "-" & request.querystring("nr") & ".jpg"%>"> <% end if else set fs=Server.CreateObject("Scripting.FileSystemObject") %> <img src="<%=foldername & "/" & foldername & ".jpg"%>"> <br> <% set f=fs.GetFolder(server.mappath(foldername)) for each file in f.files filename = file.name if (left(filename,4)=foldername and right(filename,4)=".jpg") then count=count+1 %> <a href="<%=request.servervariables("script_name") & "?nr=" & count%>" target="_blank"> <%=count%> </a> <% end if next set f=nothing set fs=nothing end if %>
- men jeg kan ikke rigtigt se nogen ide i at billedet skal vises i en nye asp-fil - hvorfor i alverden kan man ikke bare "genbruge" den forrige. Det sparer dig for en masse besvær...
Ser godt ud. Jeg skal lige spise nu, så prøver det om 30min ca.
Grunden til at billedet skal åbnes i en ny fil er sådan set bare fordi der skal stå noget info, til det billedet. Kan det laves lettere end en ny fil?
Hele systemet er et en produktside. Hvert produkt har mellem 1-10+ sorter/billeder. Hvis man vælger billede/sort 4, skal der komme info om billede/sort 4 i et nyt printervenligt vindue.
Hmm.. kan ikke lige få det tilpasset til det jeg mangler. Vil lige prøve at forklare det på en anden måde: Jeg har en hjemmeside som skal præsentere nogle produkter. Hver produkt har et stregkode nr i databasen, som kaldes 'nr'. Det er forskelligt hvor mange billeder er høre til hvert produkt, men mindst ét. Udfra hvert produkt er der et billede. Hvis der er flere varianter af produktet, er der også flere billeder. Antal varianter = Antal billeder. Billederne til ALLE produkter lægger i samme mappe: "../../img/". Hvis vi siger et produkt har nr = 0001, søger den mappen "../../img" igennem for alle .jpg filer der starter med navnet 0001 og slutter på .jpg. Dvs. at den henter filer der f.eks. hedder "0001-2.jpg", "0001-3.jpg" osv. Under hvert produkt billede bliver der linket til hvert billede med 1-2-3..-n hvor n = antal billeder. I dette tilfælde er link 1 = "0001.jpg" og 2 = "0002.jpg" osv.
Håber det giver en bedre forståelse :)
Synes godt om
Slettet bruger
28. marts 2007 - 23:54#6
egentlig ikke!
- Men hvis jeg var dig ville jeg lave stierne til billederne i databasen. Som du siger står det jo allerede i databasen hvad mappen hedder som ex. "0001" og så skal databasen jo bare vide hvad billederne hedder. Så kunne man lave en kollonne i tabellen som hedder "billede" og så lave denne værdi eksempelvist hvis der er flere billeder: "0001.jpg;0001-2.jpg;0001-3.jpg" og så lave en anden kollonne til kommentarerne til billederne som så har denne værdi hvis der er flere billeder: "billede 1 kommentar; billede 2 kommentar; billede 3 kommentar" - og sådan kunne man så blive ved. Det smarte her ville så være at så kunne man gøre det hele til et database-udtræk - og det ville for det første gøre det hele hurtigere og mere stabilt og ikke mindst er der også mindre risiko for fejl.
- når du så vil hente billederne skal man jo bare splitte værdien i "billede" og vise det første og lave links til de andre.
Ja, har tænkt på det, men det kan ikke betale sig, vil tage alt for lang tid. Billederne i mappen bliver skiftet ud løbende. Og der er mindst 2000 billedet. Og det er forskelligt om der er 1 eller 12 billeder til hvert nr.
En anden ting er, at ALLE billederne lægger i samme mappe, ../../img/. Så der er ingen mappe som hedder 0001. I Databasen er alle filnavnene, nemlig 'nr', uden .jpg efter. De "kommentar" der skal være til billederne, er de 15 andre kollonner der er i databasen
Jeg har fået lavet det her: ------------------------------------------------- <% folder = "../../../log/unique/img" first = nr & ".jpg"
count=0 set fs=Server.CreateObject("Scripting.FileSystemObject") set f=fs.GetFolder(server.mappath(folder)) for each file in f.files name = file.name if lcase(left(name,13)) = nr and lcase(right(name,3)) = "jpg" then if count = "" then first = name end if count=count+1 if count <> 0 then %> <span id=<%=count%> style="cursor:hand" onclick="document.getElementById('<%=nr%>').src='<%=folder%>/<%=name%>';"> <% Response.Write "| " & count %> </span> <% end if end if next set f=nothing set fs=nothing if first <> "" then
end if %> | ------------------------------------------------- Men: Hvis der f.eks er 2 billeder til et 'nr' kommer det til at se sådan her ud under billedet: |1|2| Jeg vil gerne have at |1| er det billede der FØRST bliver vist. Som det er ovenfor er det altid det billede med det højeste nr, som bliver vist først. Altså.. når man loader siden bliver der vist 1 billede udfra hvert produkt. Det billede er altid det med højeste nr, hvilket det ikke skal være. Det skal altid være det billede med laveste nr, med andre ord, det billede uden "-nr"
Manglede lige noget i koden. Se bort fra den ovenstående. Her er den rigtige: ------------------------------ <% folder = "../../../log/unique/img" first = nr & ".jpg" %> <p><a href="java script:MM_openBrWindow('site_produkter_img.asp?id=<%=id%>','','status=yes,width=671,height=719')"><img name="<%=nr%>" id="<%=nr%>" src="<%=folder%>/<%=first%>" height="93" width="136"/></a></p> </td> </tr> <tr> <td> <div align="right"> <p> <% count=0 set fs=Server.CreateObject("Scripting.FileSystemObject") set f=fs.GetFolder(server.mappath(folder)) for each file in f.files name = file.name if lcase(left(name,13)) = nr and lcase(right(name,3)) = "jpg" then if count = "" then first = name end if count=count+1 if count <> 0 then %> <span id=<%=count%> style="cursor:hand" onclick="document.getElementById('<%=nr%>').src='<%=folder%>/<%=name%>';"> <% Response.Write "| " & count %> </span> <% end if end if next set f=nothing set fs=nothing if first <> "" then %> <% end if %> |</p>
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.