Avatar billede martin1000ben Nybegynder
20. december 2005 - 06:53 Der er 1 kommentar og
1 løsning

IF problem

Sidder lige og roder lidt med IF'er i MySQL.

I skal se det som en event kalender, eller lign.
Events kan strække sig over flere dage, eller bare over et par timer.

Tabellen:
id = auto_increment
n = varchar(255)
sd = DATETIME
ed = DATETIME

n = navn
sd = startdato
ed = enddato

Min query, som ikke rigtig virker, dvs jeg får en fejl på linje 3, men kan slet ikk se fejlen.

Hvis jeg fjerner DATE_FORMAT fra if'erne så virker queryen, men jeg får ikke det ønskede resultat.

Jeg vil gætte på det måske er selve statementet der er helt galt, altså sd=DATE og ed=DATE

SELECT
  IF(sd=DATE('".$date."'),DATE_FORMAT(sd,'%H:%i'),'<') AS start,
  IF(ed=DATE('".$date."'),DATE_FORMAT(ed,'%H:%i),'>') AS end,
  n,
  id
FROM test
WHERE '".$date."' BETWEEN sd AND ed


Mit resultat vil jeg gerne have til at se sådan her ud:

HVIS startdato = $date, så skal der stå %H:%i ellers så skal der stå <
HVIS enddato = $date, så skal der stå %H:%i ellers så skal der stå >


Mine 3 records ser sådan her ud
ID    N    SD            ED
1    trut      2005-12-01 06:20:00      2005-12-03 11:00:00
2     bum     2005-12-19 07:00:00     2005-12-20 13:00:00
3      jul      2005-12-24 11:00:00      2005-12-24 13:00:00

Så min "kalender" burde komme til at se noget lign ud.

1/12: 06:20 trut >
2/12: < trut >
3/12: < trut 11:00
...
19/12: 07:00 bum >
20/12: < bum 13:00
...
24/12: 11:00 jul 13:00
Avatar billede hmortensen Nybegynder
20. december 2005 - 07:59 #1
Der mangler en ' efter %i i 3. linie.
Avatar billede martin1000ben Nybegynder
21. december 2005 - 17:47 #2
Jeg fandt ud af en løsning som var lidt mere PHP baseret.
Men ellers tak hmortensen :)
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