[(my)SQL]

Pagina: 1
Acties:

  • Bartholomew
  • Registratie: Januari 2000
  • Laatst online: 12-04 12:56
Zit met een moeilijk query waar k nie helemaal uitkompt ...

ik moet de theater voostelling(en) van alleen de eerstvolgende dag uit een tabel trekken

wat dus allemaal niet werkt is dit:

// hier krijg ik ALLE voorstellingen later dan vandaag
SELECT * FROM shows WHERE date >= now();

//hier krijg ik wel de eerstvolgende dag maar het kan voorkomen dat er meerdere voostellingen op die dag zijn
SELECT * FROM shows WHERE date >= now() LIMIT 1;

Dus nu probeer ik het met twee queries:
SELECT day FROM show_dates WHERE day >= now() ORDER BY day ASC LIMIT 1;

nu heb ik de eers volgende dag en dan gebruik ik die om de alle voorstellingen van die dag op te halen:
SELECT show_id FROM show_dates WHERE DATE_FORMAT(day,'%Y-%m-%d') = DATE_FORMAT($myrow_day[day],'%Y-%m-%d');

Maar deze laatste querie geeft geen resultaat! heeeel vreemd want hij geeft ook geen foutmelding ... dus de syntax is wel goed ...

Maar het moet toch wel op te lossen zijn met een enkele query?

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Wat je dan even moet proberen is de afzonderlijke functioncalls even te SELECTen:
SELECT DATE_FORMAT(day,'%Y-%m-%d') FROM show_dates;
SELECT DATE_FORMAT($myrow_day[day],'%Y-%m-%d') FROM show_dates;

Dan kijken wat het resultaat is van die 2 en dan debuggen

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Day()

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Bartholomew
  • Registratie: Januari 2000
  • Laatst online: 12-04 12:56
Op maandag 07 januari 2002 17:32 schreef drm het volgende:
Wat je dan even moet proberen is de afzonderlijke functioncalls even te SELECTen:
SELECT DATE_FORMAT(day,'%Y-%m-%d') FROM show_dates;
SELECT DATE_FORMAT($myrow_day[day],'%Y-%m-%d') FROM show_dates;

Dan kijken wat het resultaat is van die 2 en dan debuggen
Als ik deze queries run met phpMyadmin krijg is gewoon de verwachte resultaten nl een lijst met data op de juiste format

2002-01-22
2002-01-12
2002-01-11
2002-01-25
2002-01-26

  • Bartholomew
  • Registratie: Januari 2000
  • Laatst online: 12-04 12:56
JAAA! ik heb het opgelost!

ik had $myrow_day[day] niet gequote met ' dan ziet ie de variabele natuurlijk als integer en niet als string ... dit is de goede query:

SELECT show_id FROM show_dates WHERE DATE_FORMAT(day,'%Y-%m-%d') = DATE_FORMAT('$myrow_day[day]','%Y-%m-%d');

  • vinnux
  • Registratie: Maart 2001
  • Niet online
En deze :
code:
1
SELECT show_id FROM show_dates WHERE TO_DAYS(NOW()) - TO_DAYS(day) = -1

-1 staat voor de dagen in de toekomst (morgen)
0 vandaag (vandaag)
1 dagen in het verleden (gisteren)

Verwijderd

Misschien iets voor in de FAQ? SQL-Query's met datums? Komen er de laatste tijd veel voorbij...
Pagina: 1