webForumDet fria alternativet

Problem med tvtablå

ASP

3 svar · 247 visningar · startad av lbrink

Medlem sedan aug. 200160 inlägg
Frågan#1

Hejsan!
Jag sitter här och har lite problem med mitt "tvtablå"-script.
Problemet ligger i att exempelvis 23.00 är "värd mer" än 00.10 och då blir det fel, mycket fel.
Jag har försökt att få ihop det själv hela gårdagen och har ännu inte lyckats, så nu vänder jag mig till er.
Såhär kan datan som skrivs ut se ut:
SVT1
1330 - Spin City
2100 - Kulprogram
2300 - Farmen
00.10 - Jay Leno Show

Och den enda tabellen som finns är "program" och den ser ut såhär.
----------------------------------------
ID | Tid | Rubrik | Datum | Kanal
----------------------------------------
Alla kanaler lagras i en array, mest för att inte slösa på prestanda.

Ni har inget förslag hur jag ska skriva ut hela tvtablån och även kunna markera vad som visas förtillfället?
Jag har lyckats med detta men problemet kommer sen när klockan slår 00.00, då vill inte mina lösningar funka.

En lösning jag bl.a har haft är att jag har först har haft ett recordset som har tagit ut alla program som redan varit och även det programmet som visas förtillfället
Sedan har jaghaft ett till recordset som visar alla kommande program.

Problemet kommer som sagt kl 00.00, då "slutar" mitt script att funka och gör den sista posten i recordsetet till "visas nu".

Så min fråga kvarstår, har ni några förslag på hur man skulle kunna visa tvtablån på ett bra och fungerande sätt?

//Daniel Öbrink
Webcom-Network.net

Medlem sedan mars 20015 287 inlägg
#2

Hur ser koden ut som gör din jämförelse nu ut?
Jag förstår inte riktigt varför det blir fel, "värd mer" skriver du, kollar du inte tiden och jämför?

Medlem sedan apr. 20003 174 inlägg
#3

Datum - Hur ser värdena ut där? Vad använder du för datatyp?

Medlem sedan dec. 20003 887 inlägg
#4

Det kan du lösa genom att lagra tiden som Long date (yyyy-mm-dd hh:mm:ss) och välja ut tablån som

dteFrom = DateSerial(intYear, intMonth, intDay) & " " & TimeSerial(0, 0, 0) [blue]'eller vad du nu vill ha...[/blue]
dteTo = DateSerial(intYear, intMonth, intDay + 1) & " " & TimeSerial(6, 0, 0)

strSQL = "SELECT ID, FormatDateTime(Datum, 4), Rubrik FROM tblProgam WHERE kanal = " & intKanal & _
         " AND datum BETWEEN #" & dteFrom & "# AND #" & dteTo & "# ORDER BY datum"

Antag att du då sätter intYear = 2003, intMonth = 9 och intDay = 17, så får du med denna fråga ut Programmen som börjar mellan 2003-09-17 00:00:00 och 2003-09-18 06:00:00 formaterat som HH:MM och det kan väl vara intressant.

265 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)