Avatar billede maximus25 Nybegynder
26. april 2004 - 09:51 Der er 43 kommentarer og
2 løsninger

vise 3 nyeste nyheder

Hejsa
Jeg har lavet et lille nyhedssystem, hvorman kan oprette en nyhed. Jeg il gerne have de 3 nyeste oprettelser vist på forsiden af min webside.

Hvordan gør jeg dette?
Avatar billede steen_hansen Forsker
26. april 2004 - 09:52 #1
SQL = "SELECT TOP3 * FROM MinTabel Where ..."
Avatar billede steen_hansen Forsker
26. april 2004 - 09:55 #2
Siger det dig noget, eller skal den uddybes? :o)
Avatar billede maximus25 Nybegynder
26. april 2004 - 09:56 #3
er top3 et reserveret ord?
Avatar billede steen_hansen Forsker
26. april 2004 - 09:58 #4
Top er et reserveret ord. Antallet af udtrækninger sættes med det efterfølgende tal:

SQL = "SELECT TOP10 * From MinTabel Where .... DESC"
Avatar billede maximus25 Nybegynder
26. april 2004 - 10:05 #5
er det nødvendigt med en where condition?

Hentes top3 ikke hvis man skriver:

SQL = "SELECT TOP3 * FROM MinTabel
Avatar billede steen_hansen Forsker
26. april 2004 - 10:06 #6
Jo, nøjagtigt. Nu ved jeg ikke hvordan og hvad du vil trække ud, men dette burde virke:

SQL = "SELECT TOP3 * From MinTabel DESC"

DESC = Faldende
ASC = Stigende
Avatar billede maximus25 Nybegynder
26. april 2004 - 10:10 #7
mangler der ikke noget...jeg får følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'TOP3 *'.
Avatar billede steen_hansen Forsker
26. april 2004 - 10:14 #8
Nu bliver jeg i tvivl. Prøv at flytte * over foran TOP3
Avatar billede steen_hansen Forsker
26. april 2004 - 10:14 #9
SQL = "SELECT * TOP3 From MinTabel DESC"
Avatar billede maximus25 Nybegynder
26. april 2004 - 10:17 #10
stadig samme fejl!!
Avatar billede steen_hansen Forsker
26. april 2004 - 10:18 #11
Øjeblik
Avatar billede steen_hansen Forsker
26. april 2004 - 10:22 #12
SQL = "SELECT TOP 3 * From MinTabel DESC"

Virker den med mellemrum? Kigger stadig ...
Avatar billede maximus25 Nybegynder
26. april 2004 - 10:24 #13
nej selvom jeg fjerner mellemrummet kommer samme fejl stadig..
Avatar billede maximus25 Nybegynder
26. april 2004 - 10:25 #14
hvis jeg indsætter mellemrum kommer denne fejl:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.
Avatar billede steen_hansen Forsker
26. april 2004 - 10:25 #15
Ok, det skulle være MED mellemrum imellem :o)

SQL = "SELECT TOP 3 * From MinTabel DESC"
Avatar billede steen_hansen Forsker
26. april 2004 - 10:26 #16
Du har det hele med?

SQL = "SELECT TOP 3 * From MinTabel DESC"
Set RS = Conn.Execute (SQL)

Kan du ikke smide noget kode herind?
Avatar billede maximus25 Nybegynder
26. april 2004 - 10:27 #17
<%

strSQL = "SELECT TOP3 * From solutionid"

Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing
%>
Avatar billede steen_hansen Forsker
26. april 2004 - 10:28 #18
solutionid er et recordset? Hvad hedder din tabel?
Avatar billede steen_hansen Forsker
26. april 2004 - 10:30 #19
Du mener ikke

strSQL = "SELECT TOP3 solutionid From MinTabel"?
Avatar billede steen_hansen Forsker
26. april 2004 - 10:33 #20
SQL = "SELECT TOP 3 solutionid From MinTabel" ville jeg spørge om :o)
Avatar billede maximus25 Nybegynder
26. april 2004 - 10:37 #21
hmm der kommer ikke nogen fejl...men hvordan tjecker jeg at den virkelig vælger top 3?

Man kan jo ikke udskrive det i en response.write
Avatar billede steen_hansen Forsker
26. april 2004 - 10:40 #22
Du kan prøve at indtaste nogle emner og indtaste tal istedet for tekst og se, om ikke du får dem ud. Husk DESC eller ASC.

Havde du blandet navnet på RS og din tabel sammen?
Avatar billede maximus25 Nybegynder
26. april 2004 - 10:47 #23
hvis jeg vælger at udskrive indholdet:

response.write strSQL

så udskrives min sql sætning
Avatar billede maximus25 Nybegynder
26. april 2004 - 10:48 #24
indholdet af strSQL skulle vel være de tre solutionid eller hvad?
Avatar billede steen_hansen Forsker
26. april 2004 - 10:49 #25
Får du ikke nogen fejl, får du de 3 øverste ud. Bruger du DESC, får du den seneste til at stå øverst.
Avatar billede steen_hansen Forsker
26. april 2004 - 10:50 #26
Sorry, så ikke dine kommentarer. Øjeblik
Avatar billede steen_hansen Forsker
26. april 2004 - 10:51 #27
response.write strSQL
response.end
Avatar billede steen_hansen Forsker
26. april 2004 - 11:57 #28
Virker det?
Avatar billede maximus25 Nybegynder
26. april 2004 - 15:19 #29
response.write strSQL udskriver til skærmen "SELECT TOP 3 overskrift From solutions".
Avatar billede steen_hansen Forsker
26. april 2004 - 15:23 #30
Kan du ikke prøve at lægge noget tekst ind og se om det virker? tekst1 - tekst2 - tekst3 - tekst4 ...

Så kan du se, om de bliver trukket ordentligt ud.
Avatar billede maximus25 Nybegynder
26. april 2004 - 15:26 #31
jamen der er noget i db'en er det ikke det du mener?
Avatar billede steen_hansen Forsker
26. april 2004 - 15:28 #32
Jo, og bliver det ikke trukket ud, så de sidste 3 indlæg bliver hevet ud?

Du har nu

default.asp?emneID=4571
default.asp?emneID=4570
default.asp?emneID=4569

Næste gang, der kommer et indlæg, skulle de gerne stå sådan:

default.asp?emneID=4572
default.asp?emneID=4571
default.asp?emneID=4570

Gør de det?
Avatar billede maximus25 Nybegynder
26. april 2004 - 15:34 #33
jeg tror at jeg er galt på den....

er det ikke miningen at response.write strSQL skulle udskrive de id numre der står i databasen(de 3 øverste)?

Men som sagt bliver sql select sætningen udskrevet: "SELECT TOP 3 overskrift From solutions".
Avatar billede steen_hansen Forsker
26. april 2004 - 16:01 #34
Jo, det skulle de gerne. Har du prøvet at trække dem ud i en løkke?

Kan du lægge HELE siden, så vi kan kigge på det?
Avatar billede steen_hansen Forsker
26. april 2004 - 16:09 #35
Forøvrigt: Response.Write strSQL vil udskrive SELECT TOP 3 overskrift From solutions, fordi det vil blive taget som en strengvariabel. Du skal udskrive solutionid, ikke strSQL.
Avatar billede steen_hansen Forsker
26. april 2004 - 17:07 #36
Kan du ikke lægge hele koden? Så kigger vi på det :o)
Avatar billede steen_hansen Forsker
26. april 2004 - 22:13 #37
SQL = "SELECT TOP 3 overskrift From solutions ORDER BY solutionsid DESC"
Avatar billede maximus25 Nybegynder
27. april 2004 - 09:58 #38
hele koden i filen er :

<!-- #include file="db.asp" -->

<%

SQL = "SELECT TOP 3 overskrift From solutions ORDER BY solutionsid DESC"


response.write solutionid
response.end


Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

%>
Avatar billede steen_hansen Forsker
27. april 2004 - 18:22 #39
Jeg har været ude hele dagen, har ikke haft tid før nu.

Jeg mente nu, om ikke du kunne lægge den side ud, hvor du har din databaseforbindelse m.m. på?
Avatar billede eagleeye Praktikant
27. april 2004 - 18:40 #40
Ikke fordi jeg vil bryde ind, men der er lige et par småting i koden. Du kaldre din variable for SQL og senere for strSQL hvor du ville Execute den.

Koden skal laves om sådan her så den udskriver de tre poster:


<!-- #include file="db.asp" -->
<%

'Lav SQL sætning som henter de 3 nyeste solutions
SQL = "SELECT TOP 3 overskrift From solutions ORDER BY solutionsid DESC"

'Udfør SQL sætningen og lig poster ind i et recordset
Set rs = Conn.Execute(SQL)

'Udskriv posterne fra recordsetet
do while not rs.EOF
  Response.Write rs("overskrift") & "<br>"
  rs.Movenext
loop

Conn.Close
Set Conn = Nothing
%>
Avatar billede steen_hansen Forsker
27. april 2004 - 21:38 #41
Jeg er kun glad for at du bryder ind, eagleeye. Jeg har kaldt det SQL, maximus for strSQL (eller omvendt).
Avatar billede maximus25 Nybegynder
28. april 2004 - 10:55 #42
eagleeye>> nu virker det perfekt. I skal begge have point for jeres gode indsats:):)
Avatar billede maximus25 Nybegynder
28. april 2004 - 10:55 #43
smid lige et svar begge to!!
Avatar billede steen_hansen Forsker
28. april 2004 - 10:56 #44
Takker :o)
Avatar billede eagleeye Praktikant
28. april 2004 - 17:39 #45
Ok ;)
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