20. september 2004 - 13:20
Der er
5 kommentarer og 1 løsning
Problem med at hente dato / PHP
Jeg har lavet en tabel hvor jeg har lagt nogle datoer, fire i alt: 2004-09-28, 2004-09-27, 2004-09-21 og 2004-09-20, men når jeg henter dem fra databasen bliver de to første værdier lig 2004-09-20 og de to sidste ingenting. Min kode ser sådan ud: $Datenow = Date("Y-m-d"); while ($row = mysql_fetch_row($result)) { $strDate = $row[2]; $sevendays = Date("Y-m-d", mktime(0,0,0,0,7,0)); if ($Datenow >= $strDate) { $firstrowofbooks[] = $row[0]; $firstrowofbooks[] = $row[1]; $firstrowofbooks[] = $row[2]; $firstrowofbooks[] = $row[3]; } if ($sevendays >= $strDate AND $strDate > $Datenow) { $secondrowofbooks[] = $row[0]; $secondrowofbooks[] = $row[1]; $secondrowofbooks[] = $row[2]; $secondrowofbooks[] = $row[3]; } if ($strDate > $Datenow AND !$strDate < $sevendays) { $thirdrowofbooks[] = $row[0]; $thirdrowofbooks[] = $row[1]; $thirdrowofbooks[] = $row[2]; $thirdrowofbooks[] = $row[3]; } Hvad er der galt?
Annonceindlæg fra HP
20. september 2004 - 13:38
#1
Denne konstruktion er nok ikke hvad du vil ha' : !$strDate < $sevendays Du mener nok !($strDate < $sevendays) -- men ud over det, ser erklæringen af $sevendays lidt underlig ud. Den vil vist altid være "1999-12-07".
20. september 2004 - 13:42
#2
Hvordan får jeg den til at være 7 dage fra dags dato?
20. september 2004 - 14:37
#3
f.eks. med $sevendays = Date("Y-m-d", mktime(0,0,0,date("d"), date("m"), date("Y"))); -- men overvej evt. at lade MySQL foretage udvælgelsen baseret på ADDDATE (jeg kan ikke helt gennemskue hvad du forsøger at opnå): mysql> select ADDDATE(now(), INTERVAL 7 DAY); +--------------------------------+ | ADDDATE(now(), INTERVAL 7 DAY) | +--------------------------------+ | 2004-09-27 14:39:30 | +--------------------------------+ 1 row in set (0.00 sec)
15. oktober 2004 - 13:38
#4
Kan vi lukke?
15. oktober 2004 - 18:00
#5
Jep, giv lige et svar! og tak.
15. oktober 2004 - 22:08
#6
svar
Computerworld tilbyder specialiserede kurser i database-management