Avatar billede mrr1217 Nybegynder
17. april 2008 - 10:20 Der er 19 kommentarer og
1 løsning

<!Include> nyeste post i blogsystem

Hey, som spørgsmålet giver udtryk for, er jeg igang med at udvikle et blogsystem.

Jeg vil lægge de tre nyeste posts (alle enkelte posts er i hver deres *.txt fil) på forsiden.

Den måde jeg havde tænkt mig at gøre det på var at give hver post sit eget nummer (filnavnet skulle derfor også indeholde dette nummer: eks. 00321.txt). Så skulle jeg på en eller anden måde kunne kende den nyeste post (den med det højeste nummer), gemme det nummer i en variabel og lægge den næste post (variablen - 1 & ".txt"), samt den tredje (variablen - 2 & ".txt") på siden nede under...

Mit problem er nu at jeg ikke ved hvordan jeg skal komme frem til den post med det højeste nummer... Ja, jeg ved ike engang hvordan jeg skal læse hvilke filer der ligger i mappen...

Kan i hjælpe mig?
Avatar billede Slettet bruger
17. april 2008 - 10:25 #1
hvad med at teste på filens dato/tid ?
http://www.w3schools.com/ASP/asp_ref_file.asp
Avatar billede mrr1217 Nybegynder
17. april 2008 - 10:27 #2
Det kunne sikkert lade sig gøre hvis jeg vidste hvordan jeg kom frem til det ;P

Checker lige dit link ^^
Avatar billede mrr1217 Nybegynder
17. april 2008 - 10:31 #3
Hmm, det ser jo ikke så besværligt ud... Er der en måde hurtigt at få filnavnet på den nyeste fil i mappen??
Avatar billede Slettet bruger
17. april 2008 - 10:38 #4
ved ikke om det virker, men noget i denne retning

Dim fs, f, f1, fc, tmpf
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFolder("C:\temp")
Set fc = f.files

For Each f1 in fc
if f1.DateCreated > tmpf then tmpf = f1
Next

Response.write(tmpf.DateCreated)
Avatar billede mrr1217 Nybegynder
17. april 2008 - 11:33 #5
ok, thx... Prøver lige ^^
Avatar billede mrr1217 Nybegynder
17. april 2008 - 11:44 #6
hmm, jeg kan ikke få det til at virke... får en fejl på

Set f = fs.GetFolder("/CSS/Posts")

Fejltype:
Der opstod en Microsoft VBScript-kørselsfejl (0x800A004C)
Stien blev ikke fundet
/CSS/Main.asp, line 19
Avatar billede Slettet bruger
17. april 2008 - 12:03 #7
giv den fulde sti
Avatar billede solle Nybegynder
17. april 2008 - 12:03 #8
prøv:
Set f = fs.GetFolder(Server.MapPath("/CSS/Posts"))
Avatar billede mrr1217 Nybegynder
17. april 2008 - 12:39 #9
Yah, det med den fulde sti virkede ^^

thx, læg lige et svar ;)

---------------------------------------
Hmm, lige et ekstra spørgsmål ;P
Kan man bruge SSI med ASP-variabler i? Som dette (selvølgelig indenfor "<%" og "%>" tags):
<!--#include virtual="/CSS/Posts/" & postnumber - 2 & ".txt"-->
Avatar billede w13 Novice
17. april 2008 - 12:40 #10
Nej, det kan du desværre ikke.

SSI køres før ASP, som køres før HTML/JavaScript/CSS.

Derfor kan der ikke bruges ASP, når SSI'en kører, ligesom du heller ikke kan bruge JavaScript-variabler i ASP.
Avatar billede w13 Novice
17. april 2008 - 12:41 #11
Men du kan vist, hvis du i ASP bruger Server.Execute:
Server.Execute("filnavn.asp")
Avatar billede Slettet bruger
17. april 2008 - 12:46 #12
ok
Avatar billede mrr1217 Nybegynder
17. april 2008 - 13:02 #13
tal for hjælpen alle sammen ^^

hey, w13? er der nogen måde at kalde en bestemt side vha variabelnavne??? Som i min kommentar?? Kan du guide mig til en side der fortæller lidt dybere om emnet??
Avatar billede w13 Novice
17. april 2008 - 13:04 #14
Har ingen side om det.
Men det må kunne gøres sådan her:

<%
postnumber=1165
Server.Execute("/CSS/Posts/"&postnumber-2&".txt")
%>
Avatar billede mrr1217 Nybegynder
17. april 2008 - 13:07 #15
ja, jeg fattede det også lige ^^

Mange tak, jeg har brug for det hvis det skal være dynamisk, og uden for mange rettelser . du burde også få nogen point, hehe ;P
Avatar billede mrr1217 Nybegynder
17. april 2008 - 13:09 #16
Og det virker perfekt ^^ MANGE TAK !!!

Damn, jeg er glad for at jeg forlod udvikleren.dk (inaktiv) til fordel for eksperten for et par år siden ^^
Avatar billede w13 Novice
17. april 2008 - 13:10 #17
Går nok. ;)

Bemærk dog, at når du henter en ASP-side med Server.Execute, kan den ikke bruge de variabler, du bruger på hovedsiden.

Eks.:

<%
a=10

Server.Execute("fil.asp")

response.write a
%>

Hvis fil.asp arbejder med variablen "a", er det ikke den samme variable som det "a", vi har sat til 10. Så selvom vi i fil.asp skriver a=20, så vil vi stadig få udskrevet "10".
Avatar billede mrr1217 Nybegynder
17. april 2008 - 13:24 #18
ok, tak ^^
Avatar billede solle Nybegynder
18. april 2008 - 00:49 #19
hvis det var mig der skulle lægge et svar, så syns jeg mere at "jape44" sku, da det var ham der kom med løsningen... Jeg viste kun hvordan :)
Avatar billede mrr1217 Nybegynder
18. april 2008 - 11:49 #20
ja, jape44 fik også point ^^
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