Re: Variablen werden offenbar ungewünscht übernommen - 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 Pouraga (1396 Beiträge) am Sonntag, 12.Oktober.2003, 20:50.
    Re: Variablen werden offenbar ungewünscht übernommen

      %_put ist tatsächlich sowohl beim anlegen eines neuen Datensatz wie auch beim ändern eines Datenstaz definiert

      Mit
      ($cmd eq "mod")
      oder
      ($cmd eq "do_mod")
      kannst du feiner unterscheiden. ;)


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von nezpercez (499 Beiträge) am Sonntag, 12.Oktober.2003, 13:56.
    Variablen werden offenbar ungewünscht übernommen

      Hi Forum,

      Ein Diskussionsforum: Auf die Datenbank haben diverse User Zugriff, die ein Statement über einen Sachverhalt abgeben sollen. Hierzu schreibt jeweils derjenige, auf den der Datensatz terminiert ist, seinen Beitrag in das Feld <$aktueller_Eintrag> Hierzu überschreibt er den aktuellen Beitrag des Vorgängers. Beim Abspeichern soll in ein Feld Namens <$Historie> die in diesem Datensatz im Feld <$aktueller_Eintrag> jeweils vorher getätigten Einträge übernommen werden:

      if(%_put)
      {
      get "Id==$_get{Id}","db";
      if($aktueller_Eintrag ne "")
      {
      $_put{Historie}="$aktueller_Eintrag <hr>$Historie";
      }
      else
      {
      $_put{Historie}=$Historie;
      }
      

      Tja, das Ganze funktioniert erstklassig.
      Nur:
      Beim Anlegen eines neuen Datensatzes wird der letzte Inhalt aus <$aktueller_Eintrag> des zuletzt geaenderten Datensatzes in das Feld <$Historie> des neuen Datensatzes geschrieben.

      Irgendwie brauche ich wohl einen Ausdruck, der obiges Script streng auf den zu ändernden Datensatz beschränkt.
      Oder muß ich in der Formulierung
      if(%_put)
      zwischen Anlage eines neuem Datensatzes und Ändern eines bestehenden Datensatzes differenzieren.
      

      Ich sitze nun schon seit 2 Wochen an dem Problem, vielleicht hätte ich mich eher an die Cracks wenden sollen.

      Danke, freundliche Grüße, np

     Antworten

    Beitrag von Pouraga (1396 Beiträge) am Sonntag, 12.Oktober.2003, 20:50.
    Re: Variablen werden offenbar ungewünscht übernommen

      %_put ist tatsächlich sowohl beim anlegen eines neuen Datensatz wie auch beim ändern eines Datenstaz definiert

      Mit
      ($cmd eq "mod")
      oder
      ($cmd eq "do_mod")
      kannst du feiner unterscheiden. ;)

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 13.Oktober.2003, 10:37.
    Re: Variablen werden offenbar ungewünscht übernommen

      naja - das ist eigentlich logisch, da du ja immer einen Datensatz holen willst, wenn %_put vorhanden ist.
      Du müsstest in dem Zweig noch abfragen, ob $_get{Id} auch einen Wert hat, und dann erst speichern des geänderten Datensatzen, sonst einfach speichern des neuen, in etwa so:

      if(%_put){
        if ($_get{Id} >= 0){ # ID ist immer Zahl grösser/gleich null
          get "Id==!$_get{Id}","db", "Ergebnishash";
          if($aktueller_Eintrag ne ""){
          $_put{Historie}="$aktueller_Eintrag <hr>$Historie";
          } else {
          $_put{Historie}=$Historie;
          } # E aktueller Eintrag
        } else {
        $_put{Historie}=$Historie;
        } # e if/else ID
      }
      
      hoffe, es hilft dir weiter
      Ruben

     Antworten

    Beitrag von nezpercez (499 Beiträge) am Montag, 13.Oktober.2003, 11:57.
    qPouraga & Ruben Re: Variablen werden offenbar ungewünscht übernommen

      habt dank, es funktioniert sehr gut!

      ich hab noch ein bischen basteln müssen.

      daher: 4 similar Questions:


      if ($cmd eq "mod")
      {
      if ($_get{Id} >= 0)
      { 
      

      get "Id==!$_get{Id}","Schadenleer";
          if($aktueller_Eintrag ne "")
      {
          $_put{Historie}="$aktueller_Eintrag <hr>$Historie";
      }
      else 
      {
          $_put{Historie}=$Historie;
      } 
      }
       else 
      {
        $_put{Historie}=$Historie;
      }
      }
      

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 14.Oktober.2003, 12:00.
    Re: qPouraga & Ruben Re: Variablen werden offenbar ungewünscht übernommen

      kannste glaub ich zusammenfassen in:
      if ($cmd eq "mod" && $_get{Id} >= 0){
      get "Id==!$_get{Id}","Schadenleer";
        if($aktueller_Eintrag ne ""){
        $_put{Historie}="$aktueller_Eintrag <hr>$Historie";
        } else {
        $_put{Historie}=$Historie;
        }
      }else {
      $_put{Historie}=$Historie;
      }
      

      cu
      Ruben

     Antworten


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