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
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
31.10.2003, 18:08:25
|
Junior Member
|
|
Registriert seit: Mar 2003
Beiträge: 240
|
|
Alte Daten aus DB rausschmeißen....
Hallo,
ich hab ne DB in der Termine mit Daten versehen sind, unter anderem das Datum des Termins, wenn der Termin aber abgelaufen ist möchte ich das der Eintrag gelöscht wird.
Das ganze muss ich ja wie ich mir überlegt habe über Crown Jobs machen.
Nur ich brauche ja auch noch die Datei die den Eintrag löscht.
Das ist mein Problem.
Hab schonmal angefangen, bin aber dabei gescheitert das ich das ja irgendwie mit dem Unix Timestamp machen muss, und ich davon null ahnung habe.
Ich hoffe ihr könnt mir mal ein paar Anregungen oder Beispile geben wie ich das ganze realisieren kann.
Bin für alles DANKBAR.
__________________
M.f.G
Bene
------------------------------------------------
- Macs sind für die, die nicht wissen wollen, warum Ihr Rechner funzt.
- Linux ist für die, die wissen wollen, warum er funzt.
- DOS ist für die, die wissen wollen, warum er nicht funzt, und
- Windows ist für die, die nicht wissen wollen, warum er nicht funzt.
|
31.10.2003, 18:20:29
|
Junior Member
|
|
Registriert seit: May 2002
Beiträge: 179
|
|
Es heißt Cron Job ;)
Also, wenn du die Termine als Timestamp gespeichert hast, könntest du z.B. den Termin(als Timestamp) $termin mit der aktuellen Zeit(auch Timestamp) vergleichen:
PHP-Code:
if($termin <= time()){
//delete termin
}
Wenn die Zahl kleiner ist als die aktuelle Zeit, wird der Eintrag gelöscht, wenn nicht, dann wird nichts gemacht.
cu
|
31.10.2003, 18:23:46
|
Junior Member
|
|
Registriert seit: Mar 2003
Beiträge: 240
|
|
hab sie aber leider als varchar gespeichert!
Gehts dann auch oder bin ich damit aufgeschmissen?
__________________
M.f.G
Bene
------------------------------------------------
- Macs sind für die, die nicht wissen wollen, warum Ihr Rechner funzt.
- Linux ist für die, die wissen wollen, warum er funzt.
- DOS ist für die, die wissen wollen, warum er nicht funzt, und
- Windows ist für die, die nicht wissen wollen, warum er nicht funzt.
|
31.10.2003, 18:41:06
|
Junior Member
|
|
Registriert seit: May 2002
Beiträge: 179
|
|
Das geht auch, allerdings musst du die(das?) Timestamp erst mal zu einem Integer "konvertieren", mit intval($termin).
Der Code würde jetzt also so aussehen:
PHP-Code:
$termin = intval($termin);
if($termin <= time()){
echo "delete termin";
}
|
31.10.2003, 18:45:45
|
Junior Member
|
|
Registriert seit: Mar 2003
Beiträge: 240
|
|
aber das alleine löscht ja noch nicht ich muss doch noch sql schreiben....
__________________
M.f.G
Bene
------------------------------------------------
- Macs sind für die, die nicht wissen wollen, warum Ihr Rechner funzt.
- Linux ist für die, die wissen wollen, warum er funzt.
- DOS ist für die, die wissen wollen, warum er nicht funzt, und
- Windows ist für die, die nicht wissen wollen, warum er nicht funzt.
|
31.10.2003, 18:55:25
|
Junior Member
|
|
Registriert seit: Mar 2002
Beiträge: 153
|
|
PHP-Code:
mysql_query=("Delete FROM TABLE WHERE $termin limit 1");
Limit 1 ist dafür das du nur einen löscht.
wie hast du denn dein Datum gespeichert??
TT.MM.JJJJ
dann mach doch folgendes:
$today=date("H.m.Y"); //musst du noch gucken ob das das Format ist???
if($datum_aus_DB<$today)
{
mysql_query=("Delete * FROM TABLE WHERE $datum_aus_DB limit 1");
}
Das ganze noch in ner Schleife fertig
__________________
Wir sehen uns in der
Programmierer Hölle ;)
Geändert von FloRos (31.10.2003 um 19:15:15 Uhr)
|
31.10.2003, 19:10:42
|
Junior Member
|
|
Registriert seit: Aug 2003
Ort: Fürstenau (Uckermark, Land Brandenburg)
Beiträge: 259
|
|
PHP-Code:
mysql_query("DELETE FROM `tabellen_name` WHERE `zeit`<='" . time() . "' LIMIT 1");
Geändert von René_M (31.10.2003 um 19:13:29 Uhr)
|
01.11.2003, 12:48:44
|
Junior Member
|
|
Registriert seit: Mar 2003
Beiträge: 240
|
|
Ich mach das ganze jetzt doch manuell, weil das so alles nicht klappt.
Ich lass mir auf einer Seite alle Datensätze ausgeben, und dazu einen Link der auf eine Seite führt wo der Datensatz gelöscht werden soll wo löschen geklicken wurde.
so sieht mein Code aus:
PHP-Code:
mysql_connect("$db_server","$db_user","$db_passwort");
mysql_select_db("$db_name");
$query = mysql_query("SELECT * FROM Termin ORDER BY 'ID' DESC");
while($row = mysql_fetch_array($query)){
echo "NewsID: ".$row['ID']."<br>n";
echo "Tag: ".$row['tag']."<br>n";
echo "Datum".$row['datum']."<br>n";
echo "Ort:".$row['ort']."<br>n";
echo "".$row['ort2']."<br>n";
echo "Beschreibung: <br>".$row['beschreibung']."<br>n";
echo "<a href="terminedeletego.php?nid=".$row['ID']."">löschen</a><br><br><br>n";
Das klappt auch ohne Probleme nur mit der 2. Seite termindeletego.php hab ich noch Probleme, hättet ihr Ideen wie die aussehen könnte?
__________________
M.f.G
Bene
------------------------------------------------
- Macs sind für die, die nicht wissen wollen, warum Ihr Rechner funzt.
- Linux ist für die, die wissen wollen, warum er funzt.
- DOS ist für die, die wissen wollen, warum er nicht funzt, und
- Windows ist für die, die nicht wissen wollen, warum er nicht funzt.
|
01.11.2003, 13:34:51
|
Junior Member
|
|
Registriert seit: Aug 2003
Ort: Fürstenau (Uckermark, Land Brandenburg)
Beiträge: 259
|
|
Hi Bene,
hoffe das ich jetzt deine Frage richtig gedeutet habe? In deiner termindeletego.php müßte dann das stehen und achte bei den Namen wie z.B. Termine auf Groß- und Kleinschreibung.
PHP-Code:
mysql_query("DELETE FROM `Termin` WHERE `id`='" . $_GET['nid'] . "' LIMIT 1");
Geändert von René_M (01.11.2003 um 13:38:04 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
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.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 15:51:00 Uhr.
|