Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
mktime() [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
mktime()


 
checker
02-03-2004, 21:12 
 
Hi, mit diesem script will ich bewirken, das die Daten einer Tabelle, die man am Tag davor eingetragen hat gelöscht werden!
Dazu hab ich die Löschfunktion in diem Hauptseite eingefügt

zum deleten in der index.php
<?php
// $heute_null_uhr = timestamp() von genau heute morgen um 0 uhr

mysql_connect("localhost","xxx","xxx") or die ("Keine Verbindung moeglich");
mysql_select_db("usr_web48_1") or die ("Die Datenbank existiert nicht");

$heute_null_uhr = mktime(0,0,0,date("m"), date("d"), date("Y"));
$query = "DELETE FROM MMircwar WHERE time < $heute_null_uhr";
$query = "DELETE FROM MMcomment WHERE time < $heute_null_uhr";
mysql_query($query);
?>

Zum füllen der Tabelle hab ich folgendes gemacht:


mysql_connect("localhost","xxx","xxx") or die ("Keine Verbindung moeglich");
mysql_select_db("usr_web48_1") or die ("Die Datenbank existiert nicht");

$commentuser = $HTTP_POST_VARS["commentuser"];
$comment = $HTTP_POST_VARS["comment"];
$id = $HTTP_POST_VARS["id"];
$war_tag = mktime($stunde, $minute, $sekunde, $monat, $tag, $jahr);

$eintrag = "INSERT INTO MMcomment (commentuser, comment, time) VALUES ('$commentuser', '$comment', '$war_tag')";

$eintragen = mysql_query($eintrag);


wo ist nun der Fehler?
Es wird immer "-1" bei time in die Tabelle eingetragen!
Vielleicht hab ich was in der Datenbank falsch eingestellt, also ob int(30) oder eins der anderen!
Bitte um Hilfe, Mfg Markus!

 
Innuendo
02-03-2004, 21:20 
 
Welcher Spaltentyp ist denn "time"? Wahrscheinlich nicht TIMESTAMP.

 
Offe1
02-03-2004, 21:21 
 
du sollst deine Zugangsdaten nicht posten!
Welchen Type hat time?
mach mal backticks um `time` oder nenn es besser anders.
was gibt echo $war_tag; aus?

Offe

 
checker
02-03-2004, 21:41 
 
das gibt "-1" aus

Welcher Spaltentyp ist denn "time"? Wahrscheinlich nicht TIMESTAMP.
Was meinst du damit?

 
Offe1
02-03-2004, 22:03 
 
das gibt "-1" aus


dann ist es nicht verwunderlich, daß -1 eingetragen wird.

Die Variablen $stunde, $minute, $sekunde, $monat, $tag, $jahr sind wahrscheinlich nicht gesetzt.

Offe

 
checker
02-03-2004, 22:04 
 
was muss ich denn machen, dass er nicht "-1" ausgibt, irgendwas an der Datenbank?
Mfg Markus

 
webINspirit
02-03-2004, 22:15 
 
<?php
// $heute_null_uhr = timestamp() von genau heute morgen um 0 uhr

mysql_connect("localhost","xxx","xxx") or die ("Keine Verbindung moeglich");
mysql_select_db("usr_web48_1") or die ("Die Datenbank existiert nicht");

$query = "DELETE FROM MMircwar WHERE time >=CURRENT_DATE()";
$query = "DELETE FROM MMcomment WHERE time >=CURRENT_DATE()";
mysql_query($query);




mysql_connect("localhost","xxx","xxx") or die ("Keine Verbindung moeglich");
mysql_select_db("usr_web48_1") or die ("Die Datenbank existiert nicht");

$commentuser = $HTTP_POST_VARS["commentuser"];
$comment = $HTTP_POST_VARS["comment"];
$id = $HTTP_POST_VARS["id"];

$eintrag = "INSERT INTO MMcomment (commentuser, comment, time) VALUES ('$commentuser', '$comment', now())";

$eintragen = mysql_query($eintrag);


Nicht getestet, müsste aber so klappen. :D

 
checker
02-03-2004, 22:20 
 
aber in time wird ja immer -1 ausgegeben?

 
checker
02-03-2004, 22:41 
 
ahh, wie müsste ich denn diese Variablen dann festlegen?
Mfg Markus

 
Wurzel
02-03-2004, 22:52 
 
in php kannst du dir mktime() sparen ... der timestamp für jetzt, als jetzt
gleich kommt über time() oder bei der query UNIX_TIMESTAMP() ... es sei
denn du willst einen sql-timestamp, dann ist now() dein freund ... zur info:
http://www.mysql.com/doc/de/Date_and_time_functions.html
http://de3.php.net/manual/de/function.time.php

 
webINspirit
03-03-2004, 13:21 
 
Dann schau dir doch mal an wie ich time gefüllt habe!!!!

mit now() im sql-string

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:34 Uhr.