Re: Brett vorm Kopf... - 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 Oliver ;-) (500 Beiträge) am Montag, 1.Dezember.2003, 09:47.
    Re: Brett vorm Kopf...

      Hallo Ruben,

      kannst du mir das noch mal genauer auf meinen Fall bezogen darstellen?

      Grüße
      Oliver ;-)


    Ihre Antwort:

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

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Oliver ;-) (500 Beiträge) am Montag, 1.Dezember.2003, 09:01.
    Brett vorm Kopf...

      Hallo Zusammen,

      irgendwie habe ich heute ein Brett vorm Kopf...

      Eigentlich ist es gar nicht so schwer, aber irgendwie klappt es nicht.

      Ich will aus zwei db die höhere Nummer holen, diese um eins erhöhen und sie in die zweite db wieder eintragen. Ich habe mir das so vorgestellt:

      get "Nr1==#", "db1";   ## letzte Nummer aus DB1 holen
      $Nr1++;                ## diese Nummer um eins erhöhen
      get "Nr2==#", "db2";   ## letzte Nummer aus DB2 holen
      $Nr2++;                ## diese Nummer um eins erhöhen
      if ($Nr1 > $Nr2)
      {
      $Nummer=$Nr1;
      }else
      {
      $Nummer=$Nr2;
      }
      put ["Nr2",$Nummer],"db2";
      

      Aber irgendwie klappt es nicht. Wo liegt hier der Fehler?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 1.Dezember.2003, 09:13.
    Re: Brett vorm Kopf...

      Ergebnishash verwenden, dann sollte es eigentlich gehen....
      also so:
      get "Bedingung=Wert", "Datenbank1", "Ergebnishash1";
      get "Bedingung=Wert", "Datenbank2", "Ergebnishash2";
      
      hth
      Ruben

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Montag, 1.Dezember.2003, 09:47.
    Re: Brett vorm Kopf...

      Hallo Ruben,

      kannst du mir das noch mal genauer auf meinen Fall bezogen darstellen?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von Oliver ;-) (82 Beiträge) am Montag, 1.Dezember.2003, 12:09.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Hallo,

      also ich habe es nochmal getestet. Es funktioniert grundsätzlich auch so. Allerdings scheint der Befehl

      get "Nr1==#","db1";
      

      nicht immer die letzte Nummer aus der DB zu holen. Erst wenn ich den Datensatz mit der höchsten Nummer nochmal "anfasse" und abspeichere, wird diese gezogen!?!
      Ist das ein Bug in bp?

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von horstees (229 Beiträge) am Montag, 1.Dezember.2003, 14:26.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Hallo Oliver,

      wenn Du tatsächlich die letzte, und nicht die höchste Nr holen willst, dann schreib mal:

      get "Id==#","db1";
      


      usw...

      horstees

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Montag, 1.Dezember.2003, 14:29.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Hallo horstees,

      es soll die höchste Nummer sein.

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von horstees (229 Beiträge) am Montag, 1.Dezember.2003, 14:57.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Es könnte noch mit der Art der Sortierung zusammenhängen,
      also ob Du das Feld 'Nr1' als 'text' oder als 'Zahl' angelegt hast.
      Oder, wenn es vom Typ 'text' ist,
      ob Du als Sortierung 'Text' oder 'Zahl' angegeben hast.

      horstees

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Montag, 1.Dezember.2003, 15:20.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Hallo horstees,

      die Sortierung habe ich mal von Zahl auf Text geändert. Das Ergebnis hat sich nicht geändert...

      Oliver ;-)

     Antworten

    Beitrag von horstees (229 Beiträge) am Montag, 1.Dezember.2003, 16:07.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Müßte doch eigentlich aber:

      Feldtyp 'text' : Sortierung Text: 111 vor 23 ( 23 > 111 )
      Feldtyp 'text' : Sortierung Zahl: 23 vor 111 ( 111 > 23 )
      Feldtyp 'Zahl' : Sortierung checked: 23 vor 111 ( 111 > 23 )

      Bei mir in einer kleinen Testdatenbank funktioniert das genau so.

      Mit

      get "nr==#","test_db";
      

      hole ich die höchste nr aller Datensätze,
      genauer gesagt,
      ich hole den Datensatz, dessen Inhalt im Feld 'nr'
      nach meinen Sortierungsvorgaben der Größte ist.

      ---

      Gibt es evtl. bei dir Datensätze, in denen das Feld 'nr' nicht gefüllt ist,
      und Du willst wissen, welche Id derjenige Datensatz hat, bei dem das Feld 'nr' zum letzten Mal gefüllt wurde? Also den neuesten Eintrag?

      horstees

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Montag, 1.Dezember.2003, 16:37.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Hallo horstees,

      das ist schon sehr merkwürdig...

      Bei mir ist db1 relativ groß - inzwischen über 2200 Datensätze. In db2 sind nur wenige Einträge.

      Bei db2 klappt es auch; nur bei db1 nicht. Dabei ist es egal ob ich die höchste Zahl mit

      get "nr==#","db1";
      

      oder mit

      get "nr==* range=0,1 sort=-nr","db1";
      

      hole.

      Bei db2 funktionieren beide Varianten, bei db1 nicht...

      ???

      Grüße
      Oliver ;-)

     Antworten

    Beitrag von horstees (229 Beiträge) am Montag, 1.Dezember.2003, 17:04.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Tja, sortieren macht den Jungs wohl immer viel Arbeit ;-)

      Wenn ich alles richtig verstanden habe, steht in 'db2' die bislang höchste Nr.

      Kannst du das Problem evtl. so umgehen:

      get "Nr2==#", "db2"; ## höchste Nummer aus DB2 holen
      

      get "Nr1>=$Nr2","db1";

      ## erstmal nur die 'Nr1'en holen, die größer sind als die bislang höchste Nr überhaupt
      

      ???
      horstees

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 1.Dezember.2003, 18:17.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Hast Du mal n Link? ;-)

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Montag, 1.Dezember.2003, 20:35.
    Re: Brett vorm Kopf... -> Bug bei bp?

      per Mail an dich unterwegs...

      Oliver ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Montag, 1.Dezember.2003, 23:40.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Hab mir die DB angeschaut, bei der höchsten Zahl steht drin:

      \n2454

      daran wirds liegen. Wie das \n da reingekommen ist, weiss ich nicht, entweder hast Du das irgendwie mit reingeschrieben oder es ist durch einen Import reingekommen...

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 2.Dezember.2003, 08:18.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Hallo Christoph,

      hmm... kann ich mir jetzt auch nicht erklären. Wie per Mail schon gesagt läuft hier die Anmeldung in zwei Stufen ab.

      1. Nummer generieren und in db2 eintragen
      2. Nummer aus db2 holen, in db1 eintragen und in db2 löschen

      Demnach müsste ja zwischen Nummer aus db2 holen und in db1 eintragen das "\n" hinzugefügt werden. In dem Template, welches ich für den Weg von db2 zu db1 nutze ist aber kein "\n" enthalten?!

      Merkwürdig... "grübel"

      Oliver ;-)

     Antworten

    Beitrag von Oliver ;-) (500 Beiträge) am Dienstag, 2.Dezember.2003, 08:40.
    Re: Brett vorm Kopf... -> Bug bei bp?

      Hallo Christoph,

      wie das \n da rein kommt weiß ich immer noch nicht. Aber ich habe mal das Eintragen in die db1 von "put undef,"db1";" in "put ["...",...,..],"db1";" geändert.

      Jetzt funktioniert es...

      Grüße
      Oliver ;-)

     Antworten


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