21. januar 2007 - 01:02Der 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>"; }
Manuelle og semi-automatiske strategier for identitetsstyring virker - lige indtil nogen beder om dokumentation. For at undgå denne fare har DKTV taget kontrol over sin identitets- og adgangsstrategi.
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
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>"; }
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.