Avatar billede plato Juniormester
07. marts 2003 - 09:08 Der er 9 kommentarer og
1 løsning

Vis sidste indlæg.

Hejsa ng.

På min side kan man skrive kommentarer, og disse kommentarer indsættes i egen tabel (comments). I denne tabel har jeg følgende kolonner:

user
date
comment
movieid

Så har jeg lavet en lille boks hvor man skulle kunne se de sidste tilføjet kommentarer.. Men det kan jeg ikke.

Jeg kan ikke order by user, da de jo så kommer i helt forkert rækkefølge.

SÅ har jeg prøvet med order  by date, men det virker heller ikke da, d. 26-02-2003 jo starter med et større tal end 7-03-2003. Og omvendt 5-2-2003 er mindre end 7-03-2003.

Order by comment giver sig selv, kan jeg heller ikke
Det samme med movieid så for man bare de sidste kommentare for den film der har det højeste ID.

Nogen der kan kommer med en løsning?
Avatar billede plato Juniormester
07. marts 2003 - 09:09 #1
Staveplade til mig :-)

Her er koden det trækkes ud med:
<%
strConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("../db/data.mdb")
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect   

strSQL = "SELECT TOP 6  * FROM comments order by date desc"
Set rs = objConn.Execute(strSQL)

'Udskriv top 6
placering = 1

do while (not rs.EOF)



 
  Response.write "<a href='trailer.asp?id="
  Response.write rs("movieid")
  Response.write "'>"
  Response.write  Left(rs("comment"), 15)
  Response.write "...</a><br>"





  placering = placering + 1
  rs.MoveNext
loop

%>
Avatar billede mortvader Nybegynder
07. marts 2003 - 09:11 #2
select top 1 * from comments order by date desc
Avatar billede plato Juniormester
07. marts 2003 - 09:14 #3
mortvader.. Så tager den jo kun én.. og det er stadig ikke den sidste nye kommentar, den smækker ikke disse comments i bunden af kolonnen.
Og så retter jeg lige "vis sidste nye' er altså bare at den nyeste kommentar skal stå i toppen. Jeg skal godt nok vise 6 kommentarer.
Avatar billede Slettet bruger
07. marts 2003 - 09:23 #4
Det er aldrig en god ide at gemme datoformat på den måde, da det giver problemer som du beskriver her.

Lav datofeltet om til yyyy-mm-dd hvis du endelig vil gemme datoen sådan (hvis du kan)
Avatar billede plato Juniormester
07. marts 2003 - 09:25 #5
el_barto.
Det skal jeg se om jeg kan :)
Avatar billede Slettet bruger
07. marts 2003 - 09:27 #6
Husk at datoerne forsvinder når du laver et sådan felt om!
Avatar billede plato Juniormester
07. marts 2003 - 09:30 #7
Hmm.. Det kan jeg ikke lige se hvor jeg skal gøre. Kan ikke se det i databasen.
Og her er koden det bliver sat ind med:
Case "comment" ' tilføj en kommentar om en film
    strUser = Request.Form("username")
    intId = Request.Form("id")
    strComment = Replace(Request.Form("comment"), "'", "&#39;")

    Set Conn = Server.CreateObject("ADODB.Connection")
    Conn.Open Application("Provider")

        Sql = "INSERT INTO comments ([user], [date], comment, movieid) VALUES ('"& strUser &"','"& Date() &"','"& strComment &"',"& intId &")"
    Conn.Execute(Sql)

    Conn.Close
    Set Conn = Nothing
    Response.redirect(Request.ServerVariables("HTTP_REFERER"))
Case Else
Avatar billede Slettet bruger
07. marts 2003 - 09:34 #8
Hvis det er et site du stadig er ved at udvikle gør det vel ikke så meget at data forsvinder.

I mine tabeller har jeg næsten altid datoer gemt som datetime, det er et format der ser sådan her ud:

2003-02-17 22:45:47
Avatar billede plato Juniormester
07. marts 2003 - 09:37 #9
Så skal jeg bare skrive:
('"& strUser &"','"& ->  DateTime() <-  &"','"& strComment &"',"& intId &")" ?
Avatar billede plato Juniormester
11. marts 2003 - 17:05 #10
el_barto.

Her er faktisk en løsning der virker. Én jeg ikke lige kendte til.

ORDER BY CDate(date)
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