28. april 2005 - 10:45Der er
5 kommentarer og 1 løsning
Er nu mellem 2 tidspunkter?
Hej har en række poster der indeholder bl.a. 2 felter start og end. De er af type datetime (YYYY-MM-DD TT:MM:SS)
Men når jeg vil teste om nu er mellem de 2 tidspunkter, så er det som om at den er ligeglad med end.
Min sql-sætning: $hent_limit = "select * from ".$news_tbl." WHERE start < '".date("Y-m-d H:i:s")."' AND end > '".date("Y-m-d H:i:s")."' AND monitors LIKE '%;".$monitor.";%' OR monitors LIKE '".$monitor.";%' OR monitors LIKE '%;".$monitor."' OR monitors LIKE '".$monitor."' limit ".$alimit.",1";
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Brug dog NOW() i stedet for - den gør det samme men er en indbygget mysql funktion og er derfor nok lidt mere optimal. Og så vender dine ulighederne den gale vej. Between er dog sjovere:
"select * from ".$news_tbl." WHERE (NOW() BETWEEN start AND end) AND monitors LIKE '%;".$monitor.";%' OR monitors LIKE '".$monitor.";%' OR monitors LIKE '%;".$monitor."' OR monitors LIKE '".$monitor."' limit ".$alimit.",1";
SELECT NOW() BETWEEN '2005-04-26 13:00:00' AND '2005-04-27 13:00:00'
Får jeg korrekt 0 - og skriver jeg:
SELECT NOW() BETWEEN '2005-04-26 13:00:00' AND '2005-04-29 13:00:00'
Får jeg korrekt 1.
Så umiddelbart er metoden god nok.
Hvorfor du har problemer skyldes nok præcedens af operatorerne. Prøv med lidt parenteser:
"select * from ".$news_tbl." WHERE (NOW() BETWEEN start AND end) AND (monitors LIKE '%;".$monitor.";%' OR monitors LIKE '".$monitor.";%' OR monitors LIKE '%;".$monitor."' OR monitors LIKE '".$monitor."') limit ".$alimit.",1";
Da dit udtryk betød:
"select * from ".$news_tbl." WHERE ((NOW() BETWEEN start AND end) AND monitors LIKE '%;".$monitor.";%') OR monitors LIKE '".$monitor.";%' OR monitors LIKE '%;".$monitor."' OR monitors LIKE '".$monitor."' limit ".$alimit.",1";
Læg mærke til, at kun første monitor-begrænsning er afhængig af tidspunktet - det er de andre ikke.
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.