Jag har tänkt göra en fotodagbok.
Bilderna laddar jag upp via ftp.
Sen ska jag jag kunna logga in på en sida, och få upp nåt i den här stilen:
Dagens datum: (skrivs ut automatiskt)
textruta: adress till bild1, t.ex. "www.hej.nu/bild.jpg"
textruta: kommentar till bild1, t.ex. "min cykel"
textruta: adress till bild2
textruta: kommentar till bild2
osv...
Det här ska alltså lagras i en databas.
Men hur ska jag göra databasen?
Ska jag ha flera tabeller?
Edit:
Sen ska jag hämta från databasen, typ visadag.asp?id=1.
Då ska alla bilder från den dagen visas, inkl. kommentar.
Det där med att visa alla bilder inkl. kommentar från just ett datum går förstås. Du behöver dock ett datumfält som lagrar datumet då du lade till posten.
Så som du skriver nu går det nog inte (eller jo, det går, men det blir en massa krångel ;)). Det blir alltså lättare om man infogar datum i Querystring:en i stället, ex. visadag.asp?dtm=2003-10-01. För hur ska den annars veta från vilka poster som du vill få ut? ;)
Det bästa sättet att bygga upp databasen på borde väl bara såhär:
ID Datum Bild Text
__________________________________
1 2003-02-13 bild1.jpg Min cykel
2 2003-02-13 bild2.jpg Min bil
3 2003-03-19 bild3.jpg Min sommarstuga
Osv...
If Request.QueryString("page") = "" OR NOT IsNumeric(Request.QueryString("page")) Then
intPage = 1
Else
intPage = CInt(Request.QueryString("page"))
End If
If Request.QueryString("dtm") = "" OR NOT IsDate(Request.QueryString("dtm")) Then
dtmDate = Date()
Else
dtmDate = CDate(Request.QueryString("dtm"))
End If
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("[i]databas.mdb[/i]")
strSQL = "SELECT * FROM [i]tabell[/i] WHERE datum = #" & dtmDate & "# ORDER BY id"
Set objRS = Server.CreateObject("ADODB.Recordset")
With objRS
.Open strSQL, objConn, 1, 3
.PageSize = 1
End With
If NOT objRS.EOF Then
objRS.AbsolutePage = intPage
Response.Write("<img src=""" & objRS("bild") & """><br>" & objRS("text") & vbCrLf)
If objRS.PageCount > 1 Then
Response.Write("<br>" & vbCrLf)
For i = 1 To objRS.PageCount
If i <> intPage Then
Response.Write("<a href=""?dtm=" & dtmDate & "&page=" & i & """>" & i & "</a> " & vbCrLf)
Else
Response.Write(i & " " & vbCrLf)
End If
Next
End If
End If
objRS.Close : Set objRS = Nothing
objConn.Close : Set objConn = Nothing
För att plocka ut en unik bild så är det bara att plocka fram ett unikt ID ur databasen. För att plocka ut alla bilder från just ett datum då de lades in så är det bara att att plocka ut poster som har just det datumet i fältet datum. (Se sebbes exempelkod)