Re: Nachfrage - Löschen des ältesten Datensatzes wenn Datenbank voll - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Sander (8133 Beiträge) am Sonntag, 11.November.2001, 22:20.
    Re: Nachfrage - Löschen des ältesten Datensatzes wenn Datenbank voll

      Ich hab den Code jetzt mal ausprobiert, der klappt mit einer kleinen Änderung ;-)
      <perl>
      init "kontakte";
      if ($_amount_all>24)
      {
      $wieviel=$_amount_all-24;
      get "Id==* range=0,$wieviel","kontakte","loeschen";
       
      while (get_next("loeschen"))
      {
      del "Id==$_id","kontakte";
      }
      }
      </perl>
      

      Irgendwie gibt es probleme, wenn man im get_next(dbname) ein del .. dbname drin hat. wenn ein ergebnis (hier "loeschen") mit angegeben ist, klappts.

      Sander


    Ihre Antwort:

    Name: EMail: EMail bei Antwort? WWW:
    Titel:
    Text:

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Gerrit (81 Beiträge) am Sonntag, 11.November.2001, 19:25. WWW: liebesrose.de
    Nachfrage - Löschen des ältesten Datensatzes wenn Datenbank voll

      Hallo, ich habe eine Seite mit Kontaktanzeigen. Dort können bis zu 1000 Kontaktanzeigen aufgegeben werden. Ich möchte erreichen, dass dann, wenn die 1001. Kontaktanzeige aufgegeben wird, die älteste Kontaktanzeige gelöscht wird. Habt ihr dafür eine Lösung ?

      Wenn ihr für die obige Aufgabe keine Lösung habt, dann würde ich gerne jede Kontaktanzeige automatisch nach einer bestimmten Zeit von x Tagen löschen. Ich habe mal in eurem Forum rumgestöbert und gesehen, dass ihr dort für solch einen Fall Lösungsvorschläge habt. Mir fehlen allerdings Perl-Kenntnisse um zu beurteilen, ob eure Lösungsvorschläge wirklich meine Aufgabe lösen. Könnt ihr mir helfen und mir den richtigen Perl-Code mitteilen ?

      Danke für eure Mühen. Gerrit

     Antworten

    Beitrag von Claus (4645 Beiträge) am Sonntag, 11.November.2001, 19:37.
    Re: Nachfrage - Löschen des ältesten Datensatzes wenn Datenbank voll

      Hallo Gerrit,
      1000! heute Morgen waren es noch 23 ;-)

      Das Löschen nach einer gewissen Zeit scheint mir da praktikabler

      <perl>
      del "deindatumsfeld<jetzt-X","deinedatei";
      </perl>
      

      wobei X = Zeitraum,

      z.B. 14 = 14 Tage
           0,5 =  5 Stunden etc. Näheres in der Doku
      

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 11.November.2001, 22:20.
    Re: Nachfrage - Löschen des ältesten Datensatzes wenn Datenbank voll

      Ich hab den Code jetzt mal ausprobiert, der klappt mit einer kleinen Änderung ;-)
      <perl>
      init "kontakte";
      if ($_amount_all>24)
      {
      $wieviel=$_amount_all-24;
      get "Id==* range=0,$wieviel","kontakte","loeschen";
       
      while (get_next("loeschen"))
      {
      del "Id==$_id","kontakte";
      }
      }
      </perl>
      

      Irgendwie gibt es probleme, wenn man im get_next(dbname) ein del .. dbname drin hat. wenn ein ergebnis (hier "loeschen") mit angegeben ist, klappts.

      Sander

     Antworten

    Beitrag von Gerrit (81 Beiträge) am Sonntag, 11.November.2001, 23:46. WWW: liebesrose.de
    Re: Nachfrage - Löschen des ältesten Datensatzes wenn Datenbank voll

      Hallo Sander.

      Erst mal vielen Dank für Deine Hilfe. Finde ich wirklich nett, dass Du mir so geholfen hast. Meinen Dank auch an Christoph.

      Ich habe den Perl-Code wie unten angegeben in den Quelltext eingefügt und das ganze auf meiner Seite http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/liebelei/main ausprobiert.

      Mir scheint, da ist irgendwo noch ein kleiner Wurm drin. Als ich nämlich zum erstenmal mehr als 6 Datensätze hatte, da hat er zwar den ältesten Eintrag gelöscht aber den neuen Eintrag nicht angezeigt und kam mit der Meldung "Eingabe ungültig". Danach lief alles richtig - der jeweils älteste Eintrag wurde gelöscht und der neueste Eintrag hinzugefügt.

      <perl>
      init "main";
      if ($_amount_all>6)
      {
      $wieviel=$_amount_all-6;
      get "Id==* range=0,$wieviel","main","loeschen";
      while (get_next("loeschen"))
      {
      del "Id==$_id","main";
      }
      }
      </perl>
      

      Danke. Gerrit.

     Antworten

    Beitrag von Gerrit (81 Beiträge) am Montag, 12.November.2001, 00:28. WWW: liebesrose.de
    Re: Nachfrage - Löschen des ältesten Datensatzes wenn Datenbank voll

      Ich habe mir gerade die Frage gestellt, ob der Fehler (Eingabe ungültig) nicht davon gekommen sein kann, dass ich eine falsche Email-Adresse eingegeben habe. Also habe ich das Ganze noch einmal ausprobiert. Und siehe da, es trat kein Fehler auf. Der Perl-Code scheint also doch zu stimmen.

      Danke. Gerrit.

     Antworten


     
 Liste der Einträge von 54751 bis 54901:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!