SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 27.03.2008, 23:52:08
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
MySQL - Datensatz nach 24h löschen

Hy mich möchte einen Datensatz nach 24 Stunden (auf die Sekunde genau) automatisch löschen.

Ich habe in meiner Tabelle eine Spalte "AccountDate" in der die Zeit wie folgt gespeichert wird: yyyy-mm-dd hh:mm:ss

Ich habe diese Anweisung probiert, aber es werden nur DS gelöscht die von vorgestern stammen.

DELETE FROM Accounts WHERE AccountDate < date_add(current_date, interval -1 day) AND Aktiviert != 'aktiv'

Wie kann ich mein Problem lösen?

Ach ja die Funktion hab ich von hier:
http://www.php-faq.de/q/q-mysql-loeschen.html

Geändert von ksticker (27.03.2008 um 23:52:47 Uhr)
Mit Zitat antworten
  #2  
Alt 28.03.2008, 00:59:02
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: MySQL - Datensatz nach 24h löschen

Hi!

Also, wenn Du Datensätze löschen möchtest, die älter als 24 Stunden oder genau 24 Stunden alt sind, dann müsste das SQL-Statement etwa so aussehen:

Zitat:
DELETE FROM
`Accounts`
WHERE
`AccountDate` <= ADDDATE( NOW() , INTERVAL -1 DAY )
AND
`Aktiviert` != 'aktiv'
Ausserdem hast Du ein bissel das falsche Unterforum erwischt, gell? :-)
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #3  
Alt 28.03.2008, 01:06:25
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: MySQL - Datensatz nach 24h löschen

Ja, Sorry hatte ich dann auch gemerkt nachdem ich den Thread erstellt hatte, dass ich im falschen Unterforum war, aber ich hatte auf Dich vertraut.

Danke werde das Statement gleich mal probieren.

----------------------------------------------------------------------------------------------------
Mal ne kurze Perfomance-Frage, hatte vorhin was im netz gelesen von wegen man soll Datensätze nicht löschen sondern nur markieren um die indexierung nicht zu zerstören.
Das soll angeblich die Perfomance nicht so in den Keller ziehn wie das komplette Löschen.

Ich denke jedoch das wenn der Datensatz gelöscht ist, dass dann MYSQL weniger durchsuchen muss und somit die Performance wieder steigt.

Liege ich da richtig?

Geändert von ksticker (28.03.2008 um 01:17:37 Uhr)
Mit Zitat antworten
  #4  
Alt 28.03.2008, 01:17:15
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: MySQL - Datensatz nach 24h löschen

Danke Script funktioniert jetzt "wie SAU"

Das ist das mit den 3-Wege-Handshake was Du letztens gesagt hast.

EDIT: Demo gibts hier:
http://www.ksticker.de/new/index.php?do=registration
wenns intressiert natürlich :-)

Geändert von ksticker (28.03.2008 um 01:21:34 Uhr)
Mit Zitat antworten
  #5  
Alt 28.03.2008, 01:24:23
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: MySQL - Datensatz nach 24h löschen

Ich denke mal, dass das nicht wirklich ins Gewicht fällt, wenn Du löschst anstatt zu markieren. Sinnvoll ist es aber die Datenbank zu optimieren, wenn viel geschrieben und/oder gelöscht wird.

Dazu wäre ein Cronjob, der jeden Tag (oder in kleineren Zeitintervallen) folgendes SQL-Statement anstößt, recht sinnvoll:

Code:
OPTIMIZE TABLE
  `tabelle_a`,
  `tabelle_b`,
  `tabelle_c`,
  `...`
Dadurch wird/werden die Tabelle/n bereinigt und defragmentiert, zumindest wenn sie vom Type "MyISAM" sind.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #6  
Alt 28.03.2008, 01:27:46
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: MySQL - Datensatz nach 24h löschen

100x Thx, muss ich mal bei meinem Hoster (1&1) nachfragen ob ich die Möglichkeit habe das einzurichten.
Mit Zitat antworten
  #7  
Alt 28.03.2008, 01:40:56
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: MySQL - Datensatz nach 24h löschen

Hi!

Scheint ja wirklich zu funktionieren :-P

Für die Aktivierungsmail hätte ich aber noch eine Anregung, und zwar das diese auch mit alternativer Plain-Text Variante verschickt wird. Ich habe hier bei mir beispielsweise alles so konfiguriert, dass ich meine Mails nur im Platin-Text angezeigt bekomme, selbst dann, wenn es reine HTML-Mails sind. Das führt dann natürlich zu Problemen, wenn die HTML-Mail Links im Format "<a href="{adresse}">Beschreibung</a>" enthält, weil dann nur der Beschreibungstext angezeigt wird.
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #8  
Alt 28.03.2008, 01:44:49
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: MySQL - Datensatz nach 24h löschen

Ja, die E-Mail werde ich noch gestalten, mir war aber ersteinmal wichtig das alles so funktioniert wie es soll.
Soll ich Deinen Acc löschen, oder willst Du Ihn behalten?
Mit Zitat antworten
  #9  
Alt 28.03.2008, 02:25:49
Benutzerbild von |Coding
|Coding |Coding ist offline
Administrator
 
Registriert seit: Apr 2002
Ort: Bergheim
Alter: 41
Beiträge: 5.255
|Coding eine Nachricht über Skype™ schicken
AW: MySQL - Datensatz nach 24h löschen

Von mir aus kann der auch bleiben :-)

Hier noch eine kleine Anregung zum Versand einer HTML + Plain-Text E-Mail:

PHP-Code:
<?php
  
// Message-Boundary
  
$boundary md5 microtime () );

  
// Allgemeine Header
  
$header  'From: Frau Musterman <fm@domain.tld>' "\n";
  
$header .= 'MIME-Version: 1.0' "\n";
  
$header .= 'Content-Type: multipart/alternative; boundary=' $boundary "\n";
  
$header .= "\n";

  
// Plain-Text Part
  
$header .= '--' $boundary "\n"
  
$header .= 'Content-Type: text/plain' "\n";  
  
$header .= "\n";
  
$header .= 'Plain-Text Inhalt!' "\n";

  
// HTML-Part
  
$header .= '--' $boundary "\n"
  
$header .= 'Content-Type: text/html' "\n";  
  
$header .= "\n";
  
$header .= '<html>' "\n";
  
$header .= '  <head>' "\n";
  
$header .= '    <style type="text/css">' "\n";
  
$header .= '      body' "\n";
  
$header .= '      {' "\n";
  
$header .= '        font-size: 22px;' "\n";
  
$header .= '      }' "\n";
  
$header .= '    </style>' "\n";
  
$header .= '  </head>' "\n";
  
$header .= '  <body>' "\n";
  
$header .= '    <u>HTML Inhalt</u>' "\n";
  
$header .= '  </body>' "\n";
  
$header .= '</html>';

  
// MIME-Mail senden
  
mail 'Herr Musterman <hm@domain.tld>''Betreff'''$header );
?>
__________________
Gruß |Coding

---
Qozido® - Die Bilderverwaltung mit Logbuch für Taucher und Schnorchler.

www.qozido.de
Mit Zitat antworten
  #10  
Alt 28.03.2008, 02:27:24
ksticker ksticker ist offline
Member
 
Registriert seit: Nov 2007
Ort: Karlsruhe, Dresden
Alter: 35
Beiträge: 596
ksticker eine Nachricht über ICQ schicken
AW: MySQL - Datensatz nach 24h löschen

warte ich schick mir die mail ma ^lol^ da hab ich mir heute bestimmt schon 20 Emails geschickt, wie armseelig :-)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Page Script. Problem. dtone MySQLi/PDO/(MySQL) 8 15.10.2006 15:58:06
MySQL Datensatz kopieren MasterZidane MySQLi/PDO/(MySQL) 5 02.12.2005 14:29:49
MYSQL Datensatz verschieben und löschen Schnoop PHP für Fortgeschrittene und Experten 6 21.01.2004 17:50:42
Einen bestimten Datensatz löschen? Scope PHP für Fortgeschrittene und Experten 6 28.04.2002 15:52:50
Erster Datensatz erscheint nicht - MySQL Fabian PHP Grundlagen 1 16.03.2002 15:26:19


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:27:51 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt