Avatar billede maximus25 Nybegynder
30. juli 2002 - 08:42 Der er 22 kommentarer og
2 løsninger

asp spørgsmål

Hej med jer
Jeg sidder og laver et lille nyhedssystem. Man kan oprette nyheder slette og rette i nyheder(kun admin).
Det virker fint men der en ting som jeg godt kunne tænke mig men ikke ved hvordan skal laves.
Jeg kunne godt tænke mig at det kun skulle være nyhederne fra de sidte 14 dage der bliver vist. De "gamle" nyheder skal så gemmes så interesserede kan klikke på et link og så skal de være sorteret efter dato.
Er der en der ved hvordan man gør ?
Avatar billede keysersoze Ekspert
30. juli 2002 - 08:46 #1
nu ved jeg selvfølgelig ikke helt hvordan du har bygget det op og så videre - men et umiddelbart gær vil være;

sqlstr = "SELECT  * FROM news where date > #" & Date()-14 & "# ORDER BY Date desc"
Avatar billede maximus25 Nybegynder
30. juli 2002 - 10:10 #2
jeg får en fejl i date funktionen !!
hmm.....
Avatar billede keysersoze Ekspert
30. juli 2002 - 10:27 #3
hvordan ser din sql ud nu? og hvilken fejl får du?

og hvilken database egentlig?
Avatar billede maximus25 Nybegynder
30. juli 2002 - 10:36 #4
her er lidt af min kode:
problemet er nu at den viser alle nyhederne ligegyldig dato !
Det ligger i en access database !


<%
Dim Nyheder__MMColParam
Nyheder__MMColParam = "(getdate() -8)"
if (Request("MM_EmptyValue") <> "") then Nyheder__MMColParam = Request("MM_EmptyValue")
%>
<%
set Nyheder = Server.CreateObject("ADODB.Recordset")
Nyheder.ActiveConnection = MM_BBDNyt_STRING
Nyheder.Source = "SELECT * FROM BBDNYT WHERE dato >= '" + Replace(Nyheder__MMColParam, "'", "''") + "' ORDER BY ID DESC"
Nyheder.CursorType = 0
Nyheder.CursorLocation = 2
Nyheder.LockType = 3
Nyheder.Open()
Nyheder_numRows = 0
%>
Avatar billede keysersoze Ekspert
30. juli 2002 - 10:40 #5
er der nogen specielt grund til at du bruger getdate?

prøv at udskriv din sql-sætning - så er det lidt lettere at se hvad der måske går galt
Avatar billede maximus25 Nybegynder
30. juli 2002 - 11:06 #6
mener du indholdet af databsen eller...??
Avatar billede keysersoze Ekspert
30. juli 2002 - 11:10 #7
den - i stedet for at udføre din sql-sætning så udskriv den

sql = "select * from...."
response.write sql
Avatar billede maximus25 Nybegynder
30. juli 2002 - 11:14 #8
prøver lige
Avatar billede maximus25 Nybegynder
30. juli 2002 - 11:21 #9
jeg er stadig en smule i tvivl om hvad du mener. Skal jeg bare indsætte det nye i stedet for at

sql= "SELECT * FROM BBDNYT WHERE dato >= '" + Replace(Nyheder__MMColParam, "'", "''") + "' ORDER BY ID DESC"


response.write sql

i stedet for

Nyheder.Source = "SELECT * FROM BBDNYT WHERE dato >= '" + Replace(Nyheder__MMColParam, "'", "''") + "' ORDER BY ID DESC"
Avatar billede maximus25 Nybegynder
30. juli 2002 - 11:29 #10
det virker ikke..jeg laver jo sikkert et eller andet forkert. Kan du sige mig om den kode som jeg har lavet kan ændres så det virker som det skal ?
Avatar billede keysersoze Ekspert
30. juli 2002 - 11:33 #11
svar først på alle mine spm; hvilken fejl opstår der? og hvorfor bruger du getdate?

og så lidt mere - programmere du med VBscript eller Jscript?
Avatar billede maximus25 Nybegynder
30. juli 2002 - 11:40 #12
jeg bruger getdate() da beskrivelsen af denne funktion i en bog jeg har lignede det som jeg har brug for. Jeg anvender kun asp. Der kommer ikke nogen fejl men alle nyhderne fra databsen bliver udskevet. Det er som om at mine betingelser ikke bliver udført.
Avatar billede keysersoze Ekspert
30. juli 2002 - 11:44 #13
der er jo nok en grund til at jeg skrev "date()" og ikke "getdate()" - så det er en ting du skal ændre

du anvender kun asp ja - men asp kan programmeres ud fra enten Jscript eller VBscript

der er ikke nogen grund til at lave en replace når du arbejder med datoer

og sidst men ikke mindst, så er der faktisk også en grund til at jeg brugte # omkring min forespørgsel i sql'en - så det er endnu en ting du skal ændre
Avatar billede maximus25 Nybegynder
30. juli 2002 - 11:58 #14
fejlen er : der er en syntaksfejl i datoen i forespørgselsudtrykket.

Det er udfra VBscript
Avatar billede maximus25 Nybegynder
30. juli 2002 - 12:05 #15
fejlen kom efter at jeg brugte den kode som du gav mig....mangler jeg noget ?
Avatar billede keysersoze Ekspert
30. juli 2002 - 12:46 #16
er "dato" et datofelt?
Avatar billede maximus25 Nybegynder
30. juli 2002 - 12:50 #17
ja det er et datofelt.
Avatar billede maximus25 Nybegynder
30. juli 2002 - 14:34 #18
Det er rimelig "langhåret".
Avatar billede keysersoze Ekspert
30. juli 2002 - 14:41 #19
prøv

SELECT * FROM [BBDNYT] where [dato] > #" & Date()-14 & "# ORDER BY [id] desc
Avatar billede maximus25 Nybegynder
30. juli 2002 - 15:12 #20
livet er en trædemølle !!
sammme fejl.....
Avatar billede keysersoze Ekspert
30. juli 2002 - 15:26 #21
SELECT * FROM [BBDNYT] where [dato] > #" & DateAdd("d",-14,date())
& "# ORDER BY [id] desc

?
Avatar billede compac Seniormester
07. august 2002 - 16:26 #22
I ældre versioner af Access skal man bruge: Now() som dato - og ikke Date().
Avatar billede keysersoze Ekspert
07. august 2002 - 17:00 #23
havde helt glemt det her - og fandt en anden løsning jeg tidligere har brugt;

SQL = "SELECT * FROM bbdnyr WHERE [dato] > DateAdd('d', -14, now()) ORDER BY id desc"
Avatar billede maximus25 Nybegynder
21. august 2002 - 20:22 #24
jeg ved at du (keysersoze) brugte meget tid på at hjælpe mig...men det virker ikke. Men du får allegevel 30 point for din tid
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