Beitrag von Achim (118 Beiträge) am Mittwoch, 19.Dezember.2001, 11:07. WWW: www.ital-web.de
Datumsortierung umkehren
Hallo zusammen,
ich hab ´ne Kleinanzeigendatenbank in welcher die neuen Einträgen immer ans Ende geschrieben werden, ich würde das gerne so ändern, das die aktuellsten zuerst angezeigt werden. ist das ohne viel Stress möglich?
Ich möchte das ganze natürlich auf die schon bestehende DB anwenden.
Und noch was, kann ich eine Automatik einbauen, das die Kleinanzeigen nur eine begrenzte Laufzeit haben und wo muß ich das einbauen?
Vielen Dank schonmal
Achim
hier der link
<do action=all databack=f0f0f0 datasize=2 headback=778899 border=0 spacing=2 padding=3 gridcolor=
FFFFFF dataface=verdana,arial,helvetica range^=0,40 pagebrowse=top formfields=-Foto buttonbrowse=top,bottom listtype=list listfields=\ ,Eintrag\ vom,Name,Modell,Baujahr,Preis,eMail input=link>
Antworten
Beitrag von Oliver ;-) (439 Beiträge) am Mittwoch, 19.Dezember.2001, 11:17.
Re: Datumsortierung umkehren
Antworten
Beitrag von Achim (118 Beiträge) am Mittwoch, 19.Dezember.2001, 11:49.
Re: Datumsortierung umkehren
Hi Oliver ;-)
hab´s in die do action gepackt, funzt aber nich .-(((
so hab ich´s gemacht:
<do action=all sort=-Eintrag vom databack=f0f0f0 datasize=2 headback=778899 border=0 spacing=2 padding=3 gridcolor=
FFFFFF dataface=verdana,arial,helvetica range^=0,40 pagebrowse=top formfields=-Foto buttonbrowse=top,bottom listtype=list listfields=\ ,Eintrag\ vom,Name,Modell,Baujahr,Preis,eMail input=link>
Der Feldname heißt Eintrag vom, in der DB habe ich bei Sortierung einen bestätigung gegeben.
Bis später
Achim
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 19.Dezember.2001, 12:50.
Re: Datumsortierung umkehren
hallo achim,
klar, kann nicht funzen.
du hast einen "zweiteiligen" feldnamen benutzt ("eintrag vom", so was ist nie günstig). bei dem parameter listfields hast du die leerstelle maskiert ("/"), das musst du bei sort natürlich auch machen, momentan liest er nämlich nur "eintrag" und dieses feld kennt er nicht.
gruss claus
Antworten
Beitrag von Achim (118 Beiträge) am Mittwoch, 19.Dezember.2001, 13:23.
Re: Datumsortierung umkehren
Hi Claus,
sowas passiert wenn man nicht al die einfachsten perl regeln beherscht, aber ich bin ja lernfähig ;-)
Hatte noch was vor: und zwar einträge die älter als 60 Tage sind, automatisch löschen, bzw. in ein archiv verschieben.
Oliver hatte mir folgenden code geschickt.
<perl>
del "Datumsfeld<-1","Deine DB"; # löscht alles was älter als ein Tag ist
</perl>
Ich hatte das dann so geändert:
<perl>
del "Eintrag\ vom<-60","kaufen_Kopie"; # löscht alles was älter als ein Tag ist
</perl>
hat aber leider nicht funktioniert.
Gibt´s noch´n Tip?
Danke
Achim
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 19.Dezember.2001, 13:30.
Re: Datumsortierung umkehren
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 19.Dezember.2001, 13:36.
Re: Datumsortierung umkehren
ne Claus, das erste war schon richtiger
Sander
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 19.Dezember.2001, 13:50.
Re: Datumsortierung umkehren
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 19.Dezember.2001, 14:14.
Re: Datumsortierung umkehren
ich sag ja nicht das er falsch war, sondern der erste war "richtiger" ;-)
Hat dann Christoph irgendwann nachgereicht (wegen der effizenz)
Sander
Antworten
Beitrag von achim (23 Beiträge) am Mittwoch, 19.Dezember.2001, 14:26.
Re: Datumsortierung umkehren
Hi sander & claus,
nein...nicht sanderclaus ;-), was nun richtiger ist kann ich leider nicht sagen...et läuft nämlich beides nicht....flenn.
ich würde die ganzen abgelaufenen auch gerne in ein archiv laufen lassen...hab das schonmal in einer termin datenbank dank sanders hilfe...*lob* geschafft und auch in die bib gestellt.
nun habe ich versucht das auch den kleinanzeigenmarkt anzuwenden, läuft aber nicht.
hier der code:
<perl>
if ($cmd eq "")
{
get "Eintrag\ vom<jetzt-60","kaufen_Kopie_Archiv"; # dbname mit der orginaldb ersetzen
while (get_next("kaufen_Kopie_Archiv")) # hier auch
{
del "Id==$_id","kaufen_Kopie_Archiv"; # und nochmal
put
["Eintrag vom",$Eintrag vom,"Name",$Name,"Modell",$Modell,"Baujahr",$Baujahr,"Preis",$Preis,"eMail input=link",$eMail input=link],"Termine_Archiv";
}
}
</perl>
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 19.Dezember.2001, 14:56.
Re: Datumsortierung umkehren
gibts fehlermeldungen oder was passiert?
also die Zeile sieht sehr eigenartig aus ;-)
put ["Eintrag vom",$_loop{'Eintrag vom'},"Name",$Name,"Modell",$Modell,"Baujahr",$Baujahr,"Preis",$Preis,"eMail input=link",$eMail input=link],"Termine_Archiv";
was ist Email input=link? heißt wirklich ein Feld so? Wenn ja, mußt du es so ändern, wie bei Eintrag vom,
Sander
Antworten
Beitrag von achim (23 Beiträge) am Mittwoch, 19.Dezember.2001, 17:34.
Re: Datumsortierung umkehren
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 19.Dezember.2001, 17:41.
Re: Datumsortierung umkehren
hallo achim,
jetzt könnte es an einem schreibfehler liegen, da fehlt ein "t" beim "jetz".
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 19.Dezember.2001, 16:41.
Re: Datumsortierung umkehren
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 19.Dezember.2001, 19:44.
Re: Datumsortierung umkehren
Antworten
Beitrag von achim (23 Beiträge) am Mittwoch, 19.Dezember.2001, 22:29.
Re: Datumsortierung umkehren
hi sander,
hab jetzt diverse möglichkeiten ausprobiert, et klappt leider nicht mit dem perl code den ich in der termin datenbank hatte.
ich stell hier noch mal eben vor, so wie ich ihn in der kleinanzeigen db hatte:
<perl>
if ($cmd eq "")
{
get "Eintrag\\ vom<-60","kaufen_Kopie"; # dbname mit der orginaldb ersetzen
while (get_next("kaufen_Kopie")) # hier auch
{
del "Id==$_id","kaufen_Kopie"; # und nochmal
put
["Eintrag\\ vom",$ Eintrag\\ vom,"Name",$ Name,"Modell",$ Modell,"Baujahr",$ Baujahr,"Preis",$ Preis,"eMail",$eMail],"kaufen_Kopie_Archiv";
}
}
</perl>
in der seitendarstellung der db "kaufen_kopie" steht in der do action tatsächlich "email input=link" das hab ich im oben gezeigten weggelassen.
noch mal zur problemstellung, ich möchte kleinanzeigen die älter als 60 tage sind in ein archiv verschieben. ein db mit namen archiv ist angelegt, ebenso eine seite.
gruß & dank
achim
Antworten
Beitrag von Sander (8133 Beiträge) am Mittwoch, 19.Dezember.2001, 22:44.
Re: Datumsortierung umkehren
<perl>
if ($cmd eq "")
{
get "Eintrag\\ vom<-60","kaufen_Kopie"; # dbname mit der orginaldb ersetzen
while (get_next("kaufen_Kopie")) # hier auch
{
del "Id==$_id","kaufen_Kopie"; # und nochmal
put
["Eintrag vom",$_loop{'Eintrag vom'},"Name",$Name,"Modell",$Modell,"Baujahr",$Baujahr,"Preis",$Preis,"eMail",$eMail],"kaufen_Kopie_Archiv";
}
}
</perl>
So muß es passen
Sander
Antworten
Beitrag von achim (23 Beiträge) am Mittwoch, 19.Dezember.2001, 23:25.
Re: Datumsortierung umkehren
hi sander,
ich galub ich hatte eine wichtige sachen vergessen...nämlich den link, wie man an die einträde kommt, der läuft nicht das datum sondern über ein leeres feld mit einer wahlmöglichkeit, bieten/suchen, das feld selber trägt keinen namen und ist in der listfield darstellung in der seite auch bit dem backslash gekennzeichnet, hab ich so wie du das mit "eintrag vom" gemacht hast übernommen.
die datenbank fängt auch an einträge ins archiv zu schreiben aber nur wenn ich über vor/zurück blätter buttons zwischen den seiten hin und herschalte, dan zählt er runter und packt die ältesten einträge ins archiv, dort aber als doppelten eintrag...
so sieht der monentane code aus:
<perl>
if ($cmd eq "")
{
get "Eintrag\\ vom<jetzt-60","kaufen_Kopie"; # dbname mit der orginaldb ersetzen
while (get_next("kaufen_Kopie")) # hier auch
{
del "Id==$_id","kaufen_Kopie"; # und nochmal
put
["\ ",$_loop{'\ '},"Eintrag vom",$_loop{'Eintrag
vom'},"Name",$Name,"Modell",$Modell,"Baujahr",$Baujahr,"Preis",$Preis,"eMail",$eMail],"kaufen_Kopie_Archiv";
}
}
</perl>
Antworten
Beitrag von Claus S. (1671 Beiträge) am Mittwoch, 19.Dezember.2001, 16:27.
Re: Datumsortierung umkehren
Antworten
Beitrag von achim (23 Beiträge) am Mittwoch, 19.Dezember.2001, 13:38.
Re: Datumsortierung umkehren
hi claus,
heul....nee, klappt nicht, das steht unter der DB in der Site:
[ Fehler: sel: Feld (vom) in /smarty/kaufen_Kopie nicht vorhanden
Ursache: Das Feld vom wurde in der Datenbank nicht definiert. Vielleicht haben Sie sich bei der Abfrage auch nur verschrieben?
Lösungen: 1. Korrigieren Sie Ihre Abfrage. 2. Gehen Sie in Ihren privaten Bereich (Anmelden), wählen Sie die entsprechende Datenbank
aus, klicken Sie auf 'Felder' und fügen Sie das gewünschte Feld hinzu. ]
[ Fehler: sel: Index-Datei (/usr/local/httpd/data/MQ/NG/smarty/kaufen_Kopie.) kann nicht zum Lesen geöffnet werden.
Ursachen: 1. Für das Feld vom wurde keine Sortierung definiert.
2. Die Index-Datei ist zerstört
Lösungen: 1. Gehen Sie in Ihren privaten Bereich (Anmelden), wählen Sie die entsprechende Datenbank aus, klicken Sie auf 'Felder' und
beim Feld vom auf 'Ändern'. Wählen Sie nun eine Sortierung nach 'Zahl' oder 'Text'...Mehr Info
2. Reorganisieren Sie die Datenbank unter 'Datenbank / Verwaltung / Reorganisation' ]
Antworten
Beitrag von Achim (118 Beiträge) am Mittwoch, 19.Dezember.2001, 12:48.
Re: Datumsortierung umkehren
Hi Oliver ;-)
Alles Klar!!!, Et klappt, wußte nicht das man die Leerstelle zwischen dem Feldname mit einem "\" versehen muß. Man lernt jeden Tag was neues.
Danke
Achim
Antworten