Re: Datensätze grösser als x löschen - 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 Gerrit (81 Beiträge) am Sonntag, 11.November.2001, 13:46. WWW: liebesrose.de
    Re: Datensätze grösser als x löschen

      Sander : "Du sagst, das die db zur Zeit 22 Ds hat, willst aber alle ab 23 löschen. Die sind doch gar nicht da."

      Die Datensäte 24 und 25 waren vorhanden. Ich habe sie probeweise eingegeben und sie dann wieder per Hand gelöscht. Ich teste es noch einmal mit dem Perl-Code von unten.

      Danke. Gerrit.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Gerrit (81 Beiträge) am Sonntag, 11.November.2001, 11:18. WWW: liebesrose.de
    Datensätze grösser als x löschen

      Was passiert, wenn ich auf meiner Kontaktseite, die insgesamt 1000 Datensätze aufnehmen kann, 1000 Datensätze aufgenommen wurden ? Werden dann automatisch die ältesten Datensätze gelöscht ?

      Da ich davon ausgehe, dass dies nicht passiert, habe ich heute versucht, in meiner Datenbank, die momentan 22 Datensätze hat, alle Datensätze die > als 23 sind zu löschen. Dafür habe ich folgenden Code eingegeben :

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

      Die Datensätze die > 23 waren wurden allerdings nicht gelöscht. Was habe ich falsch gemacht ? Kann es daran liegen, dass ich in meiner Datenbank kein ID-Feld definiert habe ? Oder wird die "ID" automatisch angelegt ? Geht es auch ohne "ID" ?

      Vielen Dank für eure Mühen. Gerrit.

     Antworten

    Beitrag von Gerrit (81 Beiträge) am Sonntag, 11.November.2001, 11:56. WWW: liebesrose.de
    Re: Datensätze grösser als x löschen

      Hallo nochmal.

      Ich habe mir gerade die Datensätze mit den dazugehörenden ID-Nummern heruntergeladen. Sie werden wohl doch automatisch angelegt. Es ergab sich dabei folgende Tabelle.

      2;Tantra Wohlfühl- & Entspannungsmassage......
      ........
      ........
      23;Ich suche eine....

      Die ID-Nummer von 2 bis 23 sind also komplett vorhanden. ID-Nummern die grösser als 23 sind, gibt es nicht. Sie sind scheinbar gelöscht worden. Es werden also mit meinem Perl-Code immer die "neuesten" Einträge, die eine höhere ID-Nummer als 23 haben, gelöscht. Wie müsste der Perl-Code aussehen, wenn ich nicht die neuen Einträge, sondern die "ältesten" Einträge löschen möchte?

      Hier noch einmal der Perl-Code, den ich verwendet habe :

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

      Danke. Gerrit.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 11.November.2001, 13:04.
    Re: Datensätze grösser als x löschen

      eigentlich sollten mit dem Code die ersten Ids gelöscht werden. Die Ids sind nicht fortlaufend, es kann vorkommen das zwischendurch mal eine fehlt.

      Sander

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 11.November.2001, 13:01.
    Re: Datensätze grösser als x löschen

      Die Id wird von bp vergeben. Wenn du selbst so ein Feld anlegst gibts Probleme.

      Du sagst, das die db zur Zeit 22 Ds hat, willst aber alle ab 23 löschen. Die sind doch gar nicht da.

      Sander

     Antworten

    Beitrag von Gerrit (81 Beiträge) am Sonntag, 11.November.2001, 13:46. WWW: liebesrose.de
    Re: Datensätze grösser als x löschen

      Sander : "Du sagst, das die db zur Zeit 22 Ds hat, willst aber alle ab 23 löschen. Die sind doch gar nicht da."

      Die Datensäte 24 und 25 waren vorhanden. Ich habe sie probeweise eingegeben und sie dann wieder per Hand gelöscht. Ich teste es noch einmal mit dem Perl-Code von unten.

      Danke. Gerrit.

     Antworten

    Beitrag von Gerrit (81 Beiträge) am Sonntag, 11.November.2001, 14:21. WWW: liebesrose.de
    Re: Datensätze grösser als x löschen

      So, ich habe es noch einmal ausgetestet. Wenn ich den Perl-Code so eingebe wie unten, dann passiert folgendes. Sobald ich 24 Datensätze eingebe, werden die ersten 23 Datensätze gelöscht und es wird nur noch 1 Datensatz angezeigt, nämlich der 24.

      Mein Problem ist allerdings ein etwas anderes. Meine Datenbank ( Kontaktanzeigen ) kann 1000 Datensätze aufnehmen. Haben nun 1000 Leute eine Kontaktanzeige aufgegeben, so soll bei jeder neuen Kontaktanzeige jeweils die älteste Anzeige gelöscht werden. Kannst Du mir dabei helfen ?

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

     Antworten


     
 Liste der Einträge von 54901 bis 55051: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.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!