Beitrag von Ingo (90 Beiträge) am Montag, 7.April.2003, 20:34.
Datensätze zu einem Zeitpunkt automatisch löschen
Ich möchte das Datensätze deren Datum abgelaufen ist, automatisch gelöscht werden. Habe das Feld Abholdatum. Dieses wird sortiert und soll wenn das Abholdatum älter ist als heute, automatisch gelöscht werden.
habe es schon mit del=-Abholdatum probiert, funzt aber nicht.
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 8.April.2003, 00:20.
Re: Datensätze zu einem Zeitpunkt automatisch löschen
Antworten
Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 8.April.2003, 01:33.
Re: Datensätze zu einem Zeitpunkt automatisch löschen
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 8.April.2003, 09:51.
Re: Datensätze zu einem Zeitpunkt automatisch löschen
Antworten
Beitrag von Ingo (90 Beiträge) am Dienstag, 8.April.2003, 22:55.
Re: Datensätze zu einem Zeitpunkt automatisch löschen/funzt nicht
funzt noch nicht. Was mache ich falsch?
<perl>
out datum("jetzt", "lang");
if($namerein ne "")
{
get "Name==!$namerein", "nutzer";
if($Passwort ne "" && $Passwort eq $pwrein)
{
do_all "datacolor=ffffff databack=000080 headback=000000 headbold=1 headcolor=ff0000 gridcolor=ffffff listtype=list del Abholdatum=jetzt Frachtboerse Sort^=- range^=0,10 pagebrowse=top buttonbrowse=top listfields=-id,Gewicht/kg,Ladungsart,Frachtpreis,Bemerkungen,Anbieter,Ansprechpartner,Plz/Ort,Straße/Nr,Telefon,Fax,EMail,Aktion allfields=-id,Aktion",
"namerein", "pwrein";
} else
{
out "<b>Anmeldung fehlgeschlagen!</b>";
$namerein="";
}
}
if($namerein eq "")
{
out <<EOF;
<h2>Anmeldung</h2>Bitte melden Sie sich an:
<form action="http://baseportal.de/cgi-bin/baseportal.pl?htx=$htx" method="post" enctype="multipart/form-data">
<input type=hidden name="htx=" value="$htx">
<table>
<tr><td>Name:</td><td><input type="text" name="namerein="></td></tr>
<tr><td>Passwort:</td><td><input type="password" name="pwrein="></td></tr>
<tr><td></td><td><input type=submit value="Anmelden"></td></tr>
</table></form>
EOF
}
</perl>
<html><head><title>Frachtbörse</title></head>
<body bgcolor=000060 text=ffffff link=f00000>
<font face="verdana">
<center><font size=2 color=ff0000></font000000></center>
<h2 align=center>Frachtbörse</h2>
<table cellpadding=5><tr><td valign=top>
<databack=000080 dataface=verdana datasize=2 headback=0000b0 headbold=1 headcolor=ffffff spacing=1 gridcolor=ffffff border=2>
</td><td valign=top><font face="verdana"></td></tr></table>
<center><font size=2></font000000></center>
<p>
</body>
Antworten
Beitrag von Sander (8133 Beiträge) am Dienstag, 8.April.2003, 23:42.
Re: Datensätze zu einem Zeitpunkt automatisch löschen/funzt nicht
was geht nicht, bzw wo steht der del-code?
SAnder
Antworten
Beitrag von Ingo (90 Beiträge) am Mittwoch, 9.April.2003, 07:50.
Re: Datensätze zu einem Zeitpunkt automatisch löschen/funzt nicht
mit dem del Befehl wie Christpoh vorgeschlagen hat, bekomme ich immer Fehlermeldungen. Jetzt steht der del-Befehl hier drin, funzt aber auch nicht.
do_all "datacolor=ffffff databack=000080 headback=000000 headbold=1 headcolor=ff0000 gridcolor=ffffff listtype=list del Abholdatum=jetzt Frachtboerse Sort^=- range^=0,10 pagebrowse=top buttonbrowse=top listfields=-id,Gewicht/kg,Ladungsart,Frachtpreis,Bemerkungen,Anbieter,Ansprechpartner,Plz/Ort,Straße/Nr,Telefon,Fax,EMail,Aktion allfields=-id,Aktion",
"namerein", "pwrein";
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 9.April.2003, 09:49.
Re: Datensätze zu einem Zeitpunkt automatisch löschen/funzt nicht
da gehört er nun überhaupt nicht hin. Poste lieber mal die Fehlermeldung...
"dbname" hast du aber mit deiner db ersetzt, oder?
Sander
Antworten
Beitrag von Ingo (90 Beiträge) am Mittwoch, 9.April.2003, 11:49.
Re: Datensätze zu einem Zeitpunkt automatisch löschen/funzt nicht
Hallo Sander. Meine datenbank heißt"Frachtenboerse". Das Problem ist, wenn ich den von C.Bergmann gemachten Voschlag übernehme, erhalte ich beim Aufrug der Seit die fehlermeldung: Fehler in perl in Zeile soundso.
Ich denke das Cristopfs Vorschlag gut ist, und ich nur zu blöde den richtig einzubauen.
Wenn ich meine db mit "Frachtenboerse" angebe habe ich die Fehlermeldung.
Muß ich den Perl-Befehl an anderer Stelle einbauen? Oder umschreiben z.B. in
del^=jetzt "Frachtenboerse". WEnn ich ein Komma setze kommt auch immer eine Fehlermeldung.
Antworten
Beitrag von Ingo (90 Beiträge) am Dienstag, 8.April.2003, 11:19.
Re: Datensätze zu einem Zeitpunkt automatisch löschen
Antworten
Beitrag von Ingo an Sander (1 Beitrag) am Mittwoch, 9.April.2003, 11:53.
Re: Datensätze zu einem Zeitpunkt automatisch löschen
Hier die genaue Fehlermeldung
[ Fehler: (perl) in /Online_Frachten/Frachtboerse: syntax error at (eval 808) line 21, near ""datacolor=ffffff databack=000080 headback=000000 headbold=1 headcolor=ff0000 gridcolor=ffffff listtype=list del^=Abholdatum ]
Antworten
Beitrag von hempelr (1976 Beiträge) am Donnerstag, 10.April.2003, 09:55.
Re: Datensätze zu einem Zeitpunkt automatisch löschen
Hallo, Ingo
das del mußt du direkt ins Template schreiben, im do_all-Tag bzw. -Befehl führt das natürlich zu einer Fehlermeldung.
Machs mal so:
----schnipp aus deinem Code
if($Passwort ne "" && $Passwort eq $pwrein)
{
del "Abholdatum<jetzt","dbname";
do_all "db=dbname datacolor=ffffff databack=000080 headback=000000 headbold=1 headcolor=ff0000 gridcolor=ffffff listtype=list sort^=- range^=0,10 pagebrowse=top buttonbrowse=top listfields=-id,Gewicht/kg,Ladungsart,Frachtpreis,Bemerkungen,Anbieter,Ansprechpartner,Plz/Ort,Straße/Nr,Telefon,Fax,EMail,Aktion allfields=-id,Aktion", "namerein", "pwrein";
} else
----schnapp
So werden bei jedem Aufruf, wo die Anmeldung gültig ist, zunächst die Datensätze deren Abholdatum kleiner als jetzt ist, gelöscht, dann wird das Eingabeform mittels do_all angezeigt (wo hast du den Datenbankname im do_all? - gib ihn mal besser an....)
Hoffe, dass du es jetzt hinkriegst - was ist eigentlich aus der Sache mit dem Formular und der Nutzerdatenanzeige geworden?
CU
Ruben
Antworten
Beitrag von Ingo (90 Beiträge) am Freitag, 11.April.2003, 22:31.
Re: Datensätze zu einem Zeitpunkt automatisch löschen
Hallo Ruben. mit dem del das funktioniert. Aber nicht so wie ich es mir gedacht habe. Nachdem ich den von dir vorgeschlagenen del befehl ins tmplate geschrieben habe, hat er alle Einträge gelöscht. Er soll aber nur die Einträge löschen, die älter sind als heute (also gestern). Was muß ich tun? hinter den del befehl ein -1 setzen?
Zu Frage 2. Wie bekomme ich eine 1:n Relation zwischen meinen db Nutze und Frachtboerse hin?
Gruß Ingo und schönes Wochenende Dir und allen Baseportalern
Antworten
Beitrag von hempelr (1976 Beiträge) am Mittwoch, 16.April.2003, 12:26.
Re: Datensätze zu einem Zeitpunkt automatisch löschen
jo - sorry, <jetzt bedeutet ja alles was vor dieser Sekunde ist.
das Stück Code von Sander sollte gehen (hier in dem Thread gepostet)
Mit der Relation das hast du ja inzwischen geklärt - ich selbst bau die mir immer mit Perl zusammen, das Relationsfeld war bisher immer etwas buggy....
Aber wenns jetzt geht umso besser
Ruben
Antworten