webForumDet fria alternativet

Fotodagbok, databas?

ASPur ASP

11 svar · 255 visningar · startad av henrik2001

Medlem sedan dec. 2000241 inlägg
Frågan#1

Okej, då är det dags att koda lite asp igen...

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.

Förslag?

Henrik.

Medlem sedan dec. 20025 871 inlägg
#2

En tabell räcker gott :)

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? ;)

Medlem sedan dec. 2000241 inlägg
#3

Jag menade om man hade ett unikt ID för alla datum, men det går ju lika bra som du skriver "visadag.asp?dtm=2003-10-01".

Fälten i databasen:
Datum Bild1 Text1 Bild2 Text2 etc..

Eller?

En annan sak!
Om jag bara vill visa en bild i taget, och ha en länk "nästa bild" och "föregående bild" då?
På visadag.asp?dtm=xxxx-xx-xx alltså...

Medlem sedan jan. 20032 285 inlägg
#4

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...
Medlem sedan dec. 2000241 inlägg
#5

Okej, ska testa.
:)

Medlem sedan dec. 2000241 inlägg
#6

Suck.
Skulle nån vilja vara snäll och hjälpa mig?
Jag vet inte hur jag ska skriva för att visa bilderna på sidan!

"visadag.asp?dtm=2003-10-31"

Tabellen ser ut som Sebbe skrev ovan...

För det första vill jag få ut alla bilder från det datumet, och för det andra vill jag visa en i taget, paging alltså.

Medlem sedan jan. 20032 285 inlägg
#7
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
Medlem sedan dec. 20025 871 inlägg
#8

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)

Medlem sedan dec. 2000241 inlägg
#9

Det fungerar bra!
Tack, jag återkommer säkert om (när) jag får problem...
:)

Medlem sedan dec. 2000241 inlägg
#10

Varför blir det "visadag.asp?dtm=10/31/2003" och inte "visadag.asp?dtm=10-31-2003"?

Medlem sedan jan. 20032 285 inlägg
#11

Lägg till

Session.LCID = 1053

överst på sidan.

Medlem sedan dec. 2000241 inlägg
#12

Ok!

128 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)