Avatar billede causasui Nybegynder
21. januar 2007 - 01:02 Der er 4 kommentarer og
1 løsning

sammenlign unixtimestamp + 30 min

Jeg har et datetime felt i mysql. og et felt ip med ip adr.
vil tjekke om der er gået 30 min. inden næste indlæg i gæstebog i min query, har flg. men virker ikke efter hensigten:

$query1 = "SELECT id FROM antihack WHERE ip = '$ip' AND dato > UNIX_TIMESTAMP()+1800";
                              $result1 = mysql_query($query1) or exit ("Fejl: Kunne ikke køre 1");
                              $antalposter1 = mysql_num_rows($result1);
                                    if($antalposter1 > 0)
                  {
                  echo "<span class='streg'>Thanks for your support. Wait 30 min to write again</span>";
                  }
Avatar billede coderdk Praktikant
21. januar 2007 - 03:08 #1
Prøv:

$query1 = "SELECT id FROM antihack WHERE ip = '$ip' AND DATE_ADD(dato, INTERVAL 30 MINUTE) < NOW()";
Avatar billede coderdk Praktikant
21. januar 2007 - 03:10 #2
(Et datetime-felt er ikke et unix timestamp)
Avatar billede causasui Nybegynder
21. januar 2007 - 10:11 #3
Hej coderdk
Den validerer ikke rigtig, man kan fortsat skrive multiple indlæg uden 30 min er gået...Har tjekket i tabellen og records bliver lagt ind så problemet skulle ligge i query.  vil det være nemmere hvis jeg lavede mit dato felt om til timestamp
Avatar billede causasui Nybegynder
21. januar 2007 - 12:38 #4
Så fik jeg det til at virke, efter et par timers vridning!
Coderdk smid gerne et svar det var jo dig der gjorde mig bekendt med DATE_ADD funktionen i mysql...
Løsning:
$query1 = "SELECT id FROM antihack WHERE ip = '$ip' AND DATE_ADD(dato, INTERVAL '30:00' MINUTE_SECOND) > NOW()";
                              $result1 = mysql_query($query1) or exit ("Fejl: Kunne ikke køre 1");
                              $antalposter1 = mysql_num_rows($result1);
                                   
                                    if($antalposter1 > 0)
                  {
                  echo "<span class='streg'>Thanks". $name ." for your support. Wait 30 min to write again</span>";
                  }
Avatar billede coderdk Praktikant
21. januar 2007 - 16:11 #5
Ok :)
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