Avatar billede Slettet bruger
07. juni 2005 - 10:29 Der er 11 kommentarer

Sort by dato

Jeg har en kode der ser sådan ud, jeg vil gerne have den sorteret således at den nyeste dato står øverst, er der nogen der kan hjælpe med det
<%
vPath = "filer/test"
pPath = Server.MapPath( vPath )

Set fs = Server.CreateObject( "Scripting.FileSystemObject" )

Set myFolder = fs.GetFolder( pPath )
if Request.QueryString("slet") <> "" then
fs.DeleteFile(Server.Mappath(Request.QueryString("slet")))
end if
%>
<html>

<head>
<title>filer</title>
</head>

<body>

<table BORDER="1" bgcolor="#E6E6E6" cellspacing="0" cellpadding="10" bordercolor="#FFFFFF"
width="560">
  <tr>
    <td bgcolor="#AFB9CA" bordercolor="#FFFFFF" colspan="4" width="538"><strong>filer<br>
    Klik på linket under navn for at åbne&nbsp; filen.</strong></td>
  </tr>
  <tr>
    <td bgcolor="#AFB9CA" bordercolor="#FFFFFF" width="133"><b>Dato:</b></td>
    <td bgcolor="#AFB9CA" bordercolor="#FFFFFF" width="194"><b>Navn:</b></td>
    <td bgcolor="#AFB9CA" bordercolor="#FFFFFF" width="66"><b>Størrelse:</b></td>
    <td bgcolor="#AFB9CA" bordercolor="#FFFFFF" width="41"><b>Slet filen </b></td>
  </tr>
<% For Each thing in myFolder.Files %>
  <tr>
    <td WIDTH="133">&nbsp;<%=thing.DateLastModified %></td>
    <td WIDTH="194">&nbsp;<a href="filer/test/<%=thing.Name%>" target="_blank"><%=thing.Name%></a></td>
    <td WIDTH="66">&nbsp;<%=thing.Size %> </td>
    <td WIDTH="41">&nbsp;<a href="?slet=<% =vPath & "/"& thing.Name%>">Slet</a></td>
  </tr>
<% Next %>
</table>

<p><br>
<%
Dim strPath
Dim objFSO
Dim objFolder
Dim objItem

strPath = "filer/test"

Set objFSO = Server.CreateObject("Scripting.FileSystemObject")

Set objFolder = objFSO.GetFolder(Server.MapPath(strPath))
%></p>
</body>
</html>
Avatar billede busschou Praktikant
07. juni 2005 - 10:36 #1
Det tror jeg ikke umiddelbart der er en nem løsning på mig bekendt.
Som jeg ser det er der to muligheder
1) At søge igennem hvad der er og imens vedligeholde nogle arrays som så ender op med at være sorteret
2) At søge igennem og for hvert element indsætte oplysninger herom i en tabel i en database. Derefter selecte fra tabellen i dato orden
Jeg tror jeg ville vælge metode 2)
Avatar billede busschou Praktikant
07. juni 2005 - 10:37 #2
Selvfølgelig er alt med måde. Så hvis du har 100000 filer så tager det jo tid at sætte oplysninger ind og ud af en database. Men tager også tid at vedligeholde arrays. Hmm så ved ski ikke rigtig hvad der er mest effektivt.
Kode mæssigt er database nok nemmest - for mig i al fald :o)
Avatar billede Slettet bruger
07. juni 2005 - 13:33 #3
Der er ikke så mange filer der skal vises, så DB er nok en god ide, kan du vise hvordan jeg skal gøre.
Avatar billede totalpc Seniormester
07. juni 2005 - 13:33 #4
Jeg er ik den store haj til arrays osv, men jeg tror måske du søger noget ala det jeg har fået svar på i det her spgm :

http://eksperten.dk/spm/622076
Avatar billede Slettet bruger
07. juni 2005 - 14:11 #5
Hej totalPC
Det er næsten hvad jeg skal bruge, jeg håber at eagleeye læser dette, og måske kan hjælpe med det sidste jeg mangler, jeg vil gerne have fjernet farverne og have data vist i en tabel, med Titel, dato, filstørrelse
Avatar billede totalpc Seniormester
08. juni 2005 - 12:41 #6
Jeg kan desværre ik selv hjælpe dig mere, men er glad for at det har hjulpet dig på vej. Hvor er det belastende man ik får email besked fra eksperten. Ja jeg gør i hvert fald ik.
Avatar billede busschou Praktikant
08. juni 2005 - 12:55 #7
ja den funktion med mails har vist været nede pænt længe...en måned tror jeg...
Frygter den dag alle mailsne kommer på en gang hehe
Avatar billede busschou Praktikant
08. juni 2005 - 12:59 #8
Jeg har ikke kigget på linket, men min ide var at løbe dem igennem som du gør med
For Each thing in myFolder.Files
Hver gang kunne du så indsætte i en tabel
conn.execute("Insert Into tabel (Dato, Navn, Storelse) Values (#"&thing.DateLastModified&"#,'"&thing.Name&"',"&thing.Size&")")
Når så den har løbet alt igennem kan du jo hive alle dine informationer ud af tabellen i dato rækkefølge ved
set rs = conn.execute("Select * From tabel Order By Dato") --> enten asc eller desc
do while not rs.eof
  //udskriv filnavne, datoer og størrelser fra databasen
rs.movenext
loop
Avatar billede busschou Praktikant
08. juni 2005 - 13:00 #9
Du kunne jo rent faktisk gøre sådan at tabellen blev opdateret når der kom nye filer til, og når filer bliver slettet.
Så ville din tabel altid være "up to date" med de fysiske filer på serveren
Bare en ide :o)
Avatar billede Slettet bruger
08. juni 2005 - 14:47 #10
Ja, det er faktisk temmelig "træls" at man ikke får mail. Tak for input begge to, men jeg synes det med DB lyder lidt omstændigt, så jeg prøver at kigge lidt omkring om jeg kan løse det på andwen måde.
Avatar billede Slettet bruger
29. juni 2005 - 11:42 #11
Luk spørgsmål
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
Kategori
Kurser inden for grundlæggende programmering

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