webForumDet fria alternativet

Sortera

10 svar · 479 visningar · startad av eko

ekoMedlem sedan juni 2002198 inlägg
#1

Har sökt i forumet men hittar ingen hjälp.
Hur ska jag göra för att få det datumet som är närmast dagens datum som det som ska skrivas ut?
Som exempel säg att det är 5 maj idag. Och det finns ett datum som är 7 maj i databasen så är det 7 maj datumet som ska skrivas ut.
Alltså det som är närmast dagens datum. Om det inte finns några datum efter "dagens" datum så ska texten "No shows the moment." skrivas ut istället.

Krångligt? Förstår ni hur jag menar? :r

<%
Session.LCID = 1033
Set Conn = Server.CreateObject("ADODB.Connection") 
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("data/mc.mdb")

Set objRS = Conn.Execute ("select top 1 city, datum, country, venue from tour order by datum")
If not objRS.EOF then
	Response.write " | " & objRS("country") & " | " & objRS("city") & " | " & objRS("venue") & " | " & FormatDateTime(objRS("datum"),1) & " | "
End if

objRS.Close
Set objRS = Nothing
Conn.Close
set Conn = Nothing
%>
emissionMedlem sedan dec. 19996 721 inlägg
#2
select top 1 city, datum, country, venue from tour WHERE datum>now() order by datum
ekoMedlem sedan juni 2002198 inlägg
#3

emission skrev:

select top 1 city, datum, country, venue from tour order by  WHERE datum>now() order by datum

Får då detta mess:

Feltyp:
Microsoft JET Database Engine (0x80040E14)
Syntaxfel (operator saknas) i frågeuttrycket 'WHERE datum>now()'.
/mc/www/TMP8ynrjnqlc1.asp, line 6

emissionMedlem sedan dec. 19996 721 inlägg
#4

Jag skrev fel. Ta bort den första "order by"

ekoMedlem sedan juni 2002198 inlägg
#5

emission skrev:

Jag skrev fel. Ta bort den första "order by"

Nu funkar det fint. Tack. Du vet möjligen inte hur man löser min andra fråga?
Om det inte finns några datum efter "dagens" datum så ska texten "No shows the moment." skrivas ut istället.

@ndersMedlem sedan juni 200032 969 inlägg
#6

Du har ju redan en if-sats som kontrollerar om recordsetet är tomt:

If not objRS.EOF then
	Response.write " | " & objRS("country") & " | " & objRS("city") & " | " & objRS("venue") & " | " & FormatDateTime(objRS("datum"),1) & " | "
[b]Else
	Response.write "No shows the moment"[/b]
End if

Jag förstår inte riktigt vad "No shows the moment" ska betyda, men det spelar ingen roll.

mvh

ekoMedlem sedan juni 2002198 inlägg
#7

Thanx @nders :birp

ekoMedlem sedan juni 2002198 inlägg
#8

Ouups får nog låsa upp denna tråd igen då jag märkte att koden inte funkade riktigt 100%.
Exempel att det är 5 maj idag och det finns information inlaggd om 5 maj så ska den skrivas ut.
Nu skriver den bara ut frammåt i tiden. Dvs går direkt till datumet efter dagens och det blir lite fel.
Förstår ni problemet?

"select top 1 city, datum, country, venue from tour WHERE datum>now() order by datum"
ObserverMedlem sedan maj 200351 inlägg
#9

Kanske:

"select top 1 city, datum, country, venue from tour WHERE datum>=now() order by datum"
ekoMedlem sedan juni 2002198 inlägg
#10

Funkade tyvär inte. Gav samma resultat som koden jag redan har!

Observer skrev:

Kanske:

"select top 1 city, datum, country, venue from tour WHERE datum>=now() order by datum"
LarsGMedlem sedan dec. 200012 464 inlägg
#11
select top 1 city, datum, country, venue 
from tour 
WHERE datum>=date() 
order by datum
141 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)