lifehunter
Erfahrenes Mitglied
Also ich will folgendes machen. Immer wenn man sich einloggt, wird gecheckt ob an diesem Tag die Datenbank schon aktualisiert wurde. Wenn dies nicht der Fall ist, wird dieses Script ausgeführt:
Zur Erklärung: Als erstes wird das Datum des letzten Checks ausgelesen. Dann werden alle User ausgegeben welche seit dem letzten Check Geburstag hatten. Deren Alter soll um 1 hochgezählt werden.
Der 2. Teil löscht alle Nachrichten die älter als 1 bzw. 2 Monate alt sind.
Also das mit dem Alter konnte ich bisher noch nicht testen, weil bisher keiner Geburtag hatte. Nachrichten die alt genug sind gibt es aber. Leider werden die aber nicht gelöscht. Das Script wird ausgeführt. Das merke ich daran dass das Datum in der Tabelle "systemcheck" erneuert wird.
Kann mir da jemand weiterhelfen?!
Danke im Vorraus
MfG
PHP:
<?
$checkresult=mysql_query("SELECT `datum` FROM `systemcheck`");
$check=mysql_result($checkresult, 'datum');
$result=mysql_query("SELECT `ID` FROM `userdaten` WHERE `geb` between '$check' and now()");
for($i=0;$i<mysql_num_rows($result);$i++)
$data[$i]=mysql_fetch_array($result);
for($i=0;$i<count($data);$i++){
$ageresult=mysql_query("SELECT `age` FROM `profil` WHERE `ID`='".$data[$i]["ID"]."'");
$age=mysql_result($ageresult, 'age');
$age=$age++;
mysql_query("UPDATE `profil` SET `age`='$age' WHERE `ID`='".$date[$i]["ID"]."'");
}
$mailage = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-1, date("Y")));
$mailold = date("Y-m-d",mktime(0, 0, 0, date("m"), date("d")-2, date("Y")));
//gelesene Nachrichten löschen
mysql_query("DELETE `inbox` WHERE `date`<$mailage AND `lesen`>'0'");
mysql_query("DELETE `outbox` WHERE `date`<$mailage AND `lesen`>'0'");
//ungelesene Nachrichten löschen
mysql_query("DELETE `inbox` WHERE `date`<$mailold");
mysql_query("DELETE `outbox` WHERE `date`<$mailold");
mysql_query("UPDATE `systemcheck` SET `datum`=now()");
?>
Der 2. Teil löscht alle Nachrichten die älter als 1 bzw. 2 Monate alt sind.
Also das mit dem Alter konnte ich bisher noch nicht testen, weil bisher keiner Geburtag hatte. Nachrichten die alt genug sind gibt es aber. Leider werden die aber nicht gelöscht. Das Script wird ausgeführt. Das merke ich daran dass das Datum in der Tabelle "systemcheck" erneuert wird.
Kann mir da jemand weiterhelfen?!
Danke im Vorraus
MfG
Zuletzt bearbeitet: