Avatar billede liqido Nybegynder
17. december 2007 - 00:33 Der er 16 kommentarer og
1 løsning

MySql LIMIT

Skal have en begrænsning så kun den nyeste bliver vist.
Men nogle der kan se hvofor følgende sætning ikke virker??

strSQL = "Select * From kortfilm Order by uploaded DESC LIMIT 1"

Kan simpelthen ikke fatte det, og det er ikke noget med forkert sti til databasen. Noget med den måde LIMIT 1 står.

Mvh Thomas
Avatar billede barklund Nybegynder
17. december 2007 - 00:38 #1
Hvad er fejlen? Bliver der ingenting vist, bliver der vist noget forkert, hvad er datatypen af "uploaded"?
Avatar billede montago Praktikant
17. december 2007 - 00:38 #2
Limit angives med SideTal og ItemsPrSide

sqlsqlsqlsql... Limit 1, 1

eller vidst nok bare

sqlsqlsqlsql... limit 1 1
Avatar billede montago Praktikant
17. december 2007 - 00:39 #3
kan ikke huske hvad der er hvad, den første er vidst SideTal og den sidste Antal pr side... men prøv dig frem
Avatar billede liqido Nybegynder
17. december 2007 - 00:56 #4
I kan se dette link
www.LiQnet.dk

Ude i menuen til højre ved "Nyeste anim. kortfilm"
Den viser bare en fejlmeddelelse

Kan være det kan hjælpe jer :S ?
Avatar billede liqido Nybegynder
17. december 2007 - 00:57 #5
datatypen af uploaded er date/time
Avatar billede barklund Nybegynder
17. december 2007 - 01:01 #6
montago, limit 1 er det samme som limit 0, 1 og fuldt ud lovligt. Og det er "offset, rowcount" eller blot "rowcount".

liqido, den fejl du før skyldes at du har skrevet noget mærkeligt. er du sikker på, at din kolonne hedder "uploaded"? Og er du sikker på, at ovenstående er det præcise script du bruger?
Avatar billede liqido Nybegynder
17. december 2007 - 01:06 #7
ja helt sikker ... men det virker også når jeg bruger
følgende:

strSQL = "Select top 1 * From kortfilm Order by uploaded DESC"

Men så kan jeg risikiere at have 2 nye fremme på én gang, da jeg til tider uploader 2 på én dag og altså samme dato ved uploaded..
Avatar billede barklund Nybegynder
17. december 2007 - 01:11 #8
Altså, "Select * From kortfilm Order by uploaded DESC limit 1" burde virke. Det er ganske korrekt. Hvilken MySQL version bruger du?
Avatar billede liqido Nybegynder
17. december 2007 - 01:11 #9
Du kan evt prøve at se HELE koden og se om du kan se en fejl i det?? Alle stierne mht databasen er korrekt.. har jeg tjekket 100 gange.

<%
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/animeredekortfilm.mdb")
Conn.Open DSN

strSQL = "Select * From kortfilm Order by uploaded DESC LIMIT 1"
Set rs = Conn.Execute(strSQL)

Do

  strID=rs("Id")
  If CreateObject("Scripting.FileSystemObject").FileExists(Server.MapPath("/upload/animeredekortfilmpic/"&strID&".jpg")) Then
      strPic="<img alt=""Filmbillede"" src=""/upload/animeredekortfilmpic/"&strID&".jpg"" width=""145"" height=""81""> "
  Else
      strPic="<img alt=""Intet filmbillede"" src=""/upload/animeredekortfilmpic/nopic.jpg"" width=""145"" height=""81""> "
  End If

  ' Liste med links
  Response.Write "<tr valign=""top""><td><a href=""/kortfilm/animeredekortfilm-x.asp?id="&strID&""">"&strPic&"</a></td><td><a href=""/kortfilm/animeredekortfilm-x.asp?id="&strID&""">"&strNavn&"</a></td></tr>"
 
  rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
Avatar billede liqido Nybegynder
17. december 2007 - 01:13 #10
hmm fandme mærkeligt så .. øøøh version det ved jeg faktisk ikke :S hvor kan man se det hehe ?
Avatar billede arne_v Ekspert
17. december 2007 - 01:33 #11
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/db/animeredekortfilm.mdb")

er altså Microsoft Acess ikke MySQL !

Prøv:

strSQL = "Select TOP 1 * From kortfilm Order by uploaded DESC"
Avatar billede liqido Nybegynder
17. december 2007 - 01:46 #12
nåja hov :S .. jamen arne ..

den linie du lige skriv udvælger alle dem med nyeste dato.. dvs. hvis man har uploadet 2 samme dag kommer de begge på.
Avatar billede arne_v Ekspert
17. december 2007 - 04:24 #13
Du faar 2 records ud med TOP 1 ?
Avatar billede smitten1 Nybegynder
17. december 2007 - 08:36 #14
hvis du sorterer efter endnu en kolonne, kan du sikre du kun får en række ud

Select TOP 1 * From kortfilm Order by uploaded DESC, id DESC
Avatar billede liqido Nybegynder
17. december 2007 - 11:59 #15
Arne:
Ja fik 2 records med "top 1" .. gør den åbenbart hvis der er flere af samme dato. Men tak for hjælpen.

Smitten:
Det virkede squ ... danke !
Avatar billede liqido Nybegynder
17. december 2007 - 19:26 #16
opretter du et svar smitten ? så du kan point
Avatar billede liqido Nybegynder
04. januar 2008 - 13:47 #17
hmm... så tager jeg selv pointene
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
Computerworld tilbyder specialiserede kurser i database-management

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