timestamp überprüfen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angabe
anzahl
array
beispiel
benutzen
code
date
datum
eintrag
frage
hilfe
klappen
menge
offset
schnelle antwort
stelle
stunden
test
url
zone
-
Hallooo , ich möchte überprüfen ob ein eintrag öfters als 3x in 4 stunden in der tabele exestiert aber irgend wie klapt das nicht! deswegen die frage was eine möglichkeit wäre damit es funktioniert hier ma die einzelden scripts...
"1"
$sql = "SELECT ". "*". "FROM ". "account ". "WHERE ". "(user '$user')"; $result = mysql_query ($sql); $menge = mysql_num_rows($result); if($row = mysql_fetch_object($result))
"2"
$zeit_sek = $tmestamp - $row->time; $time = 4 * 3600; if($zeit_sek <= $time)
"3"
if($menge <= '3') { echo "ok"; } else { echo "fail"; }
beispiel [ich weiß so wie ich es hier unten ↓ ist kann es nich klappen!!!]
$sql = "SELECT ". "*". "FROM ". "account ". "WHERE ". "(user '$user')"; $result = mysql_query ($sql); $menge = mysql_num_rows($result); if($row = mysql_fetch_object($result)) { $zeit_sek = $tmestamp - $row->time; $time = 4 * 3600; if($zeit_sek <= $time) { if($menge >= '3') { echo "ok"; } else { echo "fail"; } } else { echo "ok"; } }
Beitrag zuletzt geändert: 31.8.2011 2:29:25 von senshi-network -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wie wär's damit?
<?php $sql = "SELECT COUNT(*) AS anzahl FROM `test` WHERE UNIX_TIMESTAMP(NOW()) - 14400 <= `time` AND userid = '".$user."'"; $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { if($row['anzahl'] <= '3') { echo 'ok'; } else { echo 'fail'; } } ?>
EDIT:
In deinem Code ist die übrigens Angabe der aktuellen Zeit nicht vorhanden. Du willst ja die letzten 4 Stunden prüfen, was time()-14400 entspricht und nicht nur 14400 :)
Beitrag zuletzt geändert: 31.8.2011 7:15:06 von fabo -
fabo schrieb:
Wie wär's damit?
<?php $sql = "SELECT COUNT(*) AS anzahl FROM `test` WHERE UNIX_TIMESTAMP(NOW()) - 14400 <= `time` AND userid = '".$user."'"; $result = mysql_query($sql); while($row = mysql_fetch_array($result)) { if($row['anzahl'] <= '3') { echo 'ok'; } else { echo 'fail'; } } ?>
EDIT:
In deinem Code ist die übrigens Angabe der aktuellen Zeit nicht vorhanden. Du willst ja die letzten 4 Stunden prüfen, was time()-14400 entspricht und nicht nur 14400 :)
doch das wird mit der variable $tmestamp an ein anderen script weiter geleitet
inhalt von time.php
<?php $timeserver = "ptbtime1.ptb.de"; $timercvd = query_time_server($timeserver,37); if (!$timercvd[1]) { $timevalue = bin2hex ($timercvd[0]); $timevalue = abs (HexDec('7fffffff') - HexDec($timevalue) - HexDec('7fffffff')) ; $tmestamp = $timevalue - 2208988800; # convert to UNIX epoch time stamp $datum = date("Y-m-d (D) H:i:s",$tmestamp /*- date("Z",$tmestamp)*/); /* incl time zone offset */ $doy = (date("z",$tmestamp)+1); } function query_time_server ($timeserver, $socket) { $fp = fsockopen($timeserver,$socket,$err,$errstr,3); if ($fp) { fputs($fp,"\n"); $timevalue = fread($fp,49); fclose($fp); # close the connection } else { $timevalue = " "; } $ret = array(); $ret[] = $timevalue; $ret[] = $err; $ret[] = $errstr; return($ret); } ?>
Beitrag zuletzt geändert: 31.8.2011 19:27:37 von senshi-network -
es funktioniert alles und ich weiß das ich nur UNIX_TIMESTAMP(NOW() mit $timestamp erstzen muss ...
danke für deine schnelle antwort und hilfe!!! -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage