datum vergleichen und bei bedarf löschen
-
- Mitglied
- Beiträge: 701
- Registriert: 19.12.2003 15:53
- Wohnort: Berlin
datum vergleichen und bei bedarf löschen
hallo. ich möchte gern ein php script für eine homepage entwickeln, doch weiß nicht, wie ich anfangen soll.
www.pandemicbrew.de/gigs.htm .
dort sind verschiedene gigs (auftritte) zu sehen, die die bandleute mittels formular adden können.
ich möchte nun, dass folgendes passiert. wenn das datum des gigs überschritten ist, dann soll der jeweilige eintrag in der datenbank gelöscht werden.
das datum ist mit mysql erzeugt worden und dann umgestellt. also kein varchar.
zuerst muss ich doch die zeit des servers herausfinden, dann miteinander vergleichen und dann bei zutreffen, löschen, oder?
ich weiß bloß nicht, wie ich anfangen soll und welche functionen ich einsetzen soll. ob nun date() oder mktime() oder doch lieber strtotime(). die andere frage ist ja, wo ich diesen code einschreiben muss? in die datei des rechten frames?
es kommt nicht auf die zeit an. ein tag danach ist schon vollkommen ok.
danke im voraus.
www.pandemicbrew.de/gigs.htm .
dort sind verschiedene gigs (auftritte) zu sehen, die die bandleute mittels formular adden können.
ich möchte nun, dass folgendes passiert. wenn das datum des gigs überschritten ist, dann soll der jeweilige eintrag in der datenbank gelöscht werden.
das datum ist mit mysql erzeugt worden und dann umgestellt. also kein varchar.
zuerst muss ich doch die zeit des servers herausfinden, dann miteinander vergleichen und dann bei zutreffen, löschen, oder?
ich weiß bloß nicht, wie ich anfangen soll und welche functionen ich einsetzen soll. ob nun date() oder mktime() oder doch lieber strtotime(). die andere frage ist ja, wo ich diesen code einschreiben muss? in die datei des rechten frames?
es kommt nicht auf die zeit an. ein tag danach ist schon vollkommen ok.
danke im voraus.
Ich würde solche Sachen evtl. gleich auf MySQL-Ebene lösen: http://dev.mysql.com/doc/mysql/en/Date_ ... tions.html
Gruß, Philipp
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
-
- Mitglied
- Beiträge: 701
- Registriert: 19.12.2003 15:53
- Wohnort: Berlin
Was für 'nen Datentyp hat denn das Datumsfeld?
Gruß, Philipp
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
-
- Mitglied
- Beiträge: 701
- Registriert: 19.12.2003 15:53
- Wohnort: Berlin
Dann würde ich es mal mit 'nem einfachen Vergleich probieren:
Gruß, Philipp
Code: Alles auswählen
WHERE feld_inhalt < CURDATE()
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
-
- Mitglied
- Beiträge: 701
- Registriert: 19.12.2003 15:53
- Wohnort: Berlin
hi philipp
cool danke. eine frage vorweg. wird dieser befehl jeden tag ausgeführt? denn ich will ja, dass er automatisch die posts löscht, wenn das datum überschritten ist und nicht jeden tag über die sql abfrage gehen.
und zweitens.
heißt der sql befehl dann:
??? danke im voraus
cool danke. eine frage vorweg. wird dieser befehl jeden tag ausgeführt? denn ich will ja, dass er automatisch die posts löscht, wenn das datum überschritten ist und nicht jeden tag über die sql abfrage gehen.
und zweitens.
heißt der sql befehl dann:
Code: Alles auswählen
DELETE * FROM `PB-Gigs` WHERE `datum2` < CURDATE()
Ein SQL-Befehl wird immer nur dann ausgeführt, wenn die zugehörige PHP-Seite ausgeführt wird. Du solltest also die Abfrage immer vor der Anzeige der Datensätze ausführen - damit hast du das Problem auch gelöst.
Ansonsten scheint mir die Abfrage zu stimmen - wenn datum2 das entsprechende Feld in der DB ist.
Gruß, Philipp
BTW: vor dem Probieren immer ein Backup erstellen
Ansonsten scheint mir die Abfrage zu stimmen - wenn datum2 das entsprechende Feld in der DB ist.
Gruß, Philipp
BTW: vor dem Probieren immer ein Backup erstellen
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
-
- Mitglied
- Beiträge: 701
- Registriert: 19.12.2003 15:53
- Wohnort: Berlin
hi philipp. ich bin es noch einmal.
habe es jetzt wie folgt gemacht:
trotzdem tritt folgender fehler auf:
habe es jetzt wie folgt gemacht:
Code: Alles auswählen
$vb = mysql_connect('xxxxxxx', 'xxxxxxx', 'xxxxxxx');
$daten = mysql_db_query("xxxxxxxxx", "delete * from `PB-Gigs` where CURDATE() > datum2", "select date_format(datum, '%d.%m.%Y') as datum, datum2, zeit, info, ort from `PB-Gigs` order by datum2");
$anzahl = mysql_num_rows($daten);
Code: Alles auswählen
Warning: mysql_db_query(): supplied argument is not a valid MySQL-Link resource in /home/www/web218/html/gigs-main.php on line 29
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web218/html/gigs-main.php on line 30
Versuch malGruß, Philipp
Code: Alles auswählen
$vb = mysql_connect('xxxxxxx', 'xxxxxxx', 'xxxxxxx');
mysql_select_db("xxxxxxxxx");
mysql_query("delete * from `PB-Gigs` where CURDATE() > datum2", $vb);
$daten = mysql_db_query("select date_format(datum, '%d.%m.%Y') as datum, datum2, zeit, info, ort from `PB-Gigs` order by datum2", $vb);
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods