Avatar billede straszek Praktikant
10. juli 2003 - 22:23 Der er 8 kommentarer og
1 løsning

Hent events fra i dag og en uge frem.

Jeg har en række events gemt gemt i min db. De har alle et unixtimestamp for hvornår de finder sted. Hvordan laver jeg en forespørgsel der hente de arrangementer der finder sted i dag og en uge frem?
Avatar billede jinxit Nybegynder
10. juli 2003 - 22:30 #1
SELECT *
FROM <tabel>
WHERE <timestamp> >= UNIX_TIMESTAMP(NOW()) AND
      <timestamp> < UNIX_TIMESTAMP(DATE_ADD(NOW(), INTERVAL 7 DAY)
Avatar billede straszek Praktikant
10. juli 2003 - 22:39 #2
Funger ikke, det giver nedenstående fejl:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/www.sktjohannes.dk/www/nysite/index2.php on line 93

Der er data i basen


Min kode:
    <?           
$res = mysql_query("select dato, hvad, id from kalender WHERE dato >= dato(NOW()) AND
      dato < dato (DATE_ADD(NOW(), INTERVAL 7 DAY)  ORDER BY dato LIMIT 8");

Echo "<font size=-2><b>Det sker der i i Skt. Johannes kirken:</b><br></FONT>";
while ($raekke = mysql_fetch_array($res)) {
  extract($raekke);
      $fordato = date("d.m.y", $dato);
echo"  <font size=-2 color=\"#000000\">D. $fordato<br><a href=\"arrtekst.php?arrid=$id\"> - $hvad</a><br></FONT>";
}
               
            ?>
Avatar billede jinxit Nybegynder
10. juli 2003 - 22:42 #3
...og typen for dato er en INTEGER (et unix timestamp)?

Du SKAL ikke ændre andet end <tabel> & <timestamp> felterne...
Avatar billede straszek Praktikant
10. juli 2003 - 22:50 #4
nu har jeg rettet forspørgslen så den se sådan ud:
$res = mysql_query("select dato, hvad, id from kalender WHERE dato >= UNIX_TIMESTAMP(NOW()) AND
      dato < UNIX_TIMESTAMP (DATE_ADD(NOW(), INTERVAL 7 DAY)  ORDER BY dato LIMIT 8");

Med det give stadig samme fejl.

Feltet  'dato' er et     int(14) felt
Avatar billede jinxit Nybegynder
10. juli 2003 - 22:57 #5
Der mangler også en slut parantes efter ...7 DAY))
Avatar billede straszek Praktikant
10. juli 2003 - 23:01 #6
Stadig  samme felj
Avatar billede jinxit Nybegynder
10. juli 2003 - 23:04 #7
kan du ikke sætte følgende på samme linje som dit query (lige efter)

or die(mysql_error());

Så vi kan få en ordentlig fejlbesked
Avatar billede straszek Praktikant
10. juli 2003 - 23:18 #8
Så får jeg følgende:

You have an error in your SQL syntax near 'Ê Ê dato < UNIX_TIMESTAMP (DATE_ADD(NOW(), INTERVAL 7 DAY))Ê ORDER BY dato LIMIT' at line 2
Avatar billede jinxit Nybegynder
10. juli 2003 - 23:20 #9
Dette tegn (Ê) må ikke være i dit query... prøv evt at undgå linjeskift indeni tekststrengen... (nogle editorer laver noget juks med linjeskift)
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