WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Datensatz nach 3 Tagen automatisch löschen.

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Datensatz nach 3 Tagen automatisch löschen. - 19 April 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Datensatz nach 3 Tagen automatisch löschen.
KeyLF
Forenheld
Threadstarter




Beiträge: 866

Hallo mal wieder.

Wie kann ich in einer SQL Datenbank einen Datensatz nach 30 Tagen automatisch löschen lassen, sodas dieser nicht mehr angezeigt wird. Z.B. in einem GB.

MFG

KeyLF

  Profil   Editieren   Zitieren
michael
Foren-Team




Beiträge: 1930

mit einem cron-job der regelmäßig ausgeführt wird und die beiträge auf aktualität prüft... oder du setzt ne abfrage ob ein beitrag ein gewisses alter erreicht hat in eine funktion die häufig aufgerufen wird.

bei beidem wird einfach nur geprüft ob die timestamp die der beitrag hat (die der beitrag haben dann muss ) älter als 30 tage ist.


  Profil   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Jep also in einem Feld die aktuelle Zeit speichern und dann:

...
$oldtime = date() - (30 * 86400);
$sql = "DELETE FROM tabelle WHERE time < '$oldtime'";
...

Am besten kommt es wenn das Teil über einen Cron-Job läuft. Ansonsten wäre es beim Anzeigen auch möglich, kostet aber mehr Performance.

Thomas


---
Weaverslave

  Profil   Website   Editieren   Zitieren
KeyLF
Forenheld
Threadstarter




Beiträge: 866

Nur fürs Verständnis, was bedeutet die 86400 und welches Format muß der TimeStamp haben?

KeyLF

  Profil   Editieren   Zitieren
michael
Foren-Team




Beiträge: 1930

Ein Monat hat 86400 Sekunden (-> Timestamp besteht auch nur aus sekunden)

Die Timestamp sollte ein Integer-Wert sein.


  Profil   Editieren   Zitieren
soeren
Posting-Schinder




Beiträge: 621


Michael schrieb am 2002-02-13 18:47 :
Ein Monat hat 86400 Sekunden (-> Timestamp besteht auch nur aus sekunden)

Die Timestamp sollte ein Integer-Wert sein.


:confused
der tag hat 86400 sekunden
deshalb steht ja da 30*86400
mathe kann aber auch schwer sein.



---
mfg
Sören

  Profil   Editieren   Zitieren
michael
Foren-Team




Beiträge: 1930

ach fuck- das meinte ich doch... arrg - naja mathe war noch nie meine stärke


  Profil   Editieren   Zitieren
KeyLF
Forenheld
Threadstarter




Beiträge: 866

Naja das klingt ja alles ganz logisch aber wenn ich einen Timestamp erstellenlasse so sieht der z.B. so aus: 20020214150349

und wie kommen den dann die 84000 zustande, vielleicht hab ich nen denkfehler, naja vielleicht kann mir dabei noch jemand weiterhelfen!?

  Profil   Editieren   Zitieren
michael
Foren-Team




Beiträge: 1930

du guckst ob der timestamp+die anzahl sekunden die ein monat hat (60x60x24x30) kleiner ist als die aktuelle timestamp.


  Profil   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Ich habe natürlich auch die falsche Funktion erwischt. Korrekt wäre time() um den aktueen Timestamp zu erhalten.

Das was du da zeigst ist das anderes Datumsformat. Wir meinen den Unix-Timstamp. Das sind die Sekunden seit dem 1.1.1970. Mit diesem Wert läßt sich am einfachsten rechnen.

Thomas


---
Weaverslave

  Profil   Website   Editieren   Zitieren
Talk-Server
Pixelschubser




Beiträge: 4

Ist doch voll easy :smile

Er arbeitet mit dem Format
JJJJMMTTHHMMSS

Das heißt er muss das noch passend umwandeln

$datum = date("YmdHis", $oldatum);
und dann die überprüfung mit SQL


---
Mfg Neo Track

Visit: Talk-Server.com

  Profil   E-Mail   Website   Editieren   Zitieren
Lexia
Pixelschubser




Beiträge: 13

Und wenn das Datum einfach als Varchar gespeichert wurde?
Also 06.09.2006 ?

  Profil   E-Mail   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Kannst du dir das ganze erst mit mktime in eine timestamp umwandeln und dann die üblichen Rechnungen drauf anwenden.

  Profil   Editieren   Zitieren
Lexia
Pixelschubser




Beiträge: 13

Sorry aber ich glaub da bin ich echt zu blöd für...

also sagen wir mal ich hab hier erstmal die verbindung:

$link = mysql_connect( $dbhost, $dbuser, $dbpw );
if (! $link)
die("Keine Verbindung zum MySQL-Server");
mysql_select_db($dbname)
or die ("Konnte Datenbank \"$dbname\" nicht öffnen:".
mysql_error() );


ok, klappt bis dahin auch ganz wunderbar.
dann will ich den wert "datum" auslesen (oder theoretisch muss ich das ja gar nicht um den zu ändern oder?)
$abfrage = "SELECT datum FROM blackboard";
$ergebnis = mysql_query($abfrage,$link);

So und von jetzt an weiss ich gar nichts mehr... hab leider echt wenig Ahnung von php... wäre super, wenn mir jemand helfen könnte:
$datumoriginal = mktime(0,0,0,32,12,2000);
$oldtime = $datumoriginal() - (90 * 86400);
$sql = "DELETE FROM $table WHERE datum < '$oldtime'";
mysql_query($sql,$link);

Viele Grüße,
Lexia

  Profil   E-Mail   Editieren   Zitieren
raiserle
Mausakrobat




Beiträge: 172

hmm
warum die frage, was verstehst du nicht. steht doch oben schon alles richtig da.
vorrausgesetzt, du speicherst als timestamp.

du brauchst dort kein mktime(); und richtig hast dus selber erkannt, du musst vorher kein select aus der db machen.
time() liefert doch den aktuellen timestamp. davon kannste ja nun deine differenz abziehen
86400*tage

mktime() macht nur sinn, wenn du genau auf beginn des heutigen tages hinaus willst.

$heute_zur_geisterstunde=mktime(0,0,0,date('n',time()),date('j',time()),date('Y',time()));

---
Irren is Menschlich

Wer andern eine Grube gräbt,
sollte darüber nachdenken,
ob sie tief genug ist!!!!

Kameradschaft ist, wenn der
Kamerad schafft !!!!

  Profil   Editieren   Zitieren
Seite 1 | 2  

Antworten
Forum » PHP & MySQL » Datensatz nach 3 Tagen automatisch löschen.

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Datensatz nach 3 Tagen automatisch löschen. im Forum Homepage Hosting AntwortenLetztes Posting
Best online slots
in "PHP & MySQL"
0 23.01.2023 22:40 von Sevetr
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji
php preg_replace_callback für dynamischen Link
in "PHP & MySQL"
0 05.07.2016 11:02 von Rm21
PHP Code verschlüsseln
in "PHP & MySQL"
20 21.02.2016 21:25 von Kilian1
migrierter WP-Blog läuft nicht ...
in "PHP & MySQL"
0 04.02.2016 02:01 von Oxygon



Besucher : 7981362    Heute : 57     Gestern : 300     Online : 16     19.4.2024    4:09      0 Besucher in den letzten 60 Sekunden        
Nach oben