Re: Feldinhalte verbinden - 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 Claus (4645 Beiträge) am Freitag, 19.August.2005, 09:41.
    Re: Feldinhalte verbinden

      Hallo Daniel,

      >NB: Ich kann Perl-Scripts etwas interpretieren und für mich anpassen aber kenne es kaum.
      

      Dann wird es Zeit, sich mal damit zu befassen;-))


      Bei Datensatzänderungen so:

      <perl>
      

      if ($cmd eq "mod")

      {
      

      get "Id==$_get{Id}", "dbname";
       
      mod "Id==$Id", ["Feld3",$Feld1 Feld2], "db-name";
      

      }



      </perl>
      



      bei Hinzufügen so:

      <perl>
      

      if ($cmd eq "add")

      {
      

      put ["Feld3", $_put{Feld1} $_put{Feld2}], "db-name";

      }
      </perl>
      



      Sollte funktionieren;-)
      Gruß

      Claus


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Daniel Wenger (13 Beiträge) am Donnerstag, 18.August.2005, 23:56.
    Feldinhalte verbinden

      Hallo

      Ich suche eine Möglichkeit Feldinhalte von einzelnen Spalten in einer weiteren Spalte zusammenzufügen. Nun habe ich im Glossar wie mir scheint die Lösung gefunden. Aber mit dem Syntax komme ich nicht zurecht. Wo muss ich was nun hinsetzten. Kann jemand helfen?

      Gruss und Danke

      Daniel
      ------------------------------------------------------------------------------
      Aus dem Glossar:
      Sollen in einem Feld die Einträge aus mehreren Feldern verknüpft werden, gibt es folgende Möglichkeiten:

      $Feld3=$Feld1.$Feld2
      

      oder

      $Feld3="$Feld1$Feld2"
      

      Dann wird z.B. aus Feld1="Vorname" und Feld2="Nachname" in Feld3="VornameNachname".

     Antworten

    Beitrag von Olaf (382 Beiträge) am Freitag, 19.August.2005, 08:03.
    Re: Feldinhalte verbinden

      Mach doch einfach

      <perl>
      out "$Feld1$Feld2";
      </perl>
      

      oder füge auch nur

      $Feld1 $Feld2
      
      wo du es brauchst im Text ein.

      wie z.B.
      <table><tr><td>$Feld1&nbsp;$Feld2</td></tr></table>
      

     Antworten

    Beitrag von Olaf (382 Beiträge) am Freitag, 19.August.2005, 08:04.
    wie spät ist es? eigentlich 08:59 Uhr...

      wie spät ist es? eigentlich 08:59 Uhr...

     Antworten

    Beitrag von Daniel Wenger (13 Beiträge) am Freitag, 19.August.2005, 09:11.
    Re: Feldinhalte verbinden

      Okay. Diese Versionen kenne ich und verwende sie rege. Was ich möchte ist, dass die Inhalte von $Feld1 und $Feld2 in einem Template mit do_all in $Feld3 angezeigt werden. Die Verbindung müsste also schon unter DATENBANK-FELDER definiert werden.

      Ein anderer Ansatz:
      Wie würde eine Prozedur aussehen wenn ich vom Template $Feld1 und $Feld2 laden liesse und sie dann als einen String in $Feld3 zurückspeichern würde. Und dies durch die ganze Datenbank?

      Irgendwie aufgebau wie:

      loop datenbank
      get "$Feld1","$Feld2"
      mod "$Feld3" mit "$Feld1Feld2"
      

      NB: Ich kann Perl-Scripts etwas interpretieren und für mich anpassen aber kenne es kaum.

     Antworten

    Beitrag von Claus (4645 Beiträge) am Freitag, 19.August.2005, 09:41.
    Re: Feldinhalte verbinden

      Hallo Daniel,

      >NB: Ich kann Perl-Scripts etwas interpretieren und für mich anpassen aber kenne es kaum.
      

      Dann wird es Zeit, sich mal damit zu befassen;-))


      Bei Datensatzänderungen so:

      <perl>
      

      if ($cmd eq "mod")

      {
      

      get "Id==$_get{Id}", "dbname";
       
      mod "Id==$Id", ["Feld3",$Feld1 Feld2], "db-name";
      

      }



      </perl>
      



      bei Hinzufügen so:

      <perl>
      

      if ($cmd eq "add")

      {
      

      put ["Feld3", $_put{Feld1} $_put{Feld2}], "db-name";

      }
      </perl>
      



      Sollte funktionieren;-)
      Gruß

      Claus

     Antworten

    Beitrag von Olaf (382 Beiträge) am Freitag, 19.August.2005, 12:48.
    Re: Feldinhalte verbinden

      Du kannst doch auch
      <perl>
      $feld3="$Feld1 $Feld2";
      out "$Feld3";
      </perl>
      
      nur schreiben...

      vielleicht sehe ich dein Plan als zu trivial an...?

     Antworten

    Beitrag von Daniel Wenger (13 Beiträge) am Montag, 22.August.2005, 20:59.
    Re: Feldinhalte verbinden

      Ich habe die Antworten von Claus und Olaf vermixt und schon fast was ich will.
      Der Teil AENDERN läuft und der Teil NEU fast.

      Dies ist der verwendete Script:

      <perl>
      if ($cmd eq "mod")
      {
      $ZPara="$Feld1$Feld2";
      get "Id==$_get{Id}", "Modulo"; 
      mod "Id==$Id", [Feld3,$ZPara], "Modulo";
      }
      </perl>
      <perl>
      if ($cmd eq "add")
      {
      put [Feld3,"$_put{Feld1}$_put{Feld2}"], "Modulo";
      }
      </perl>
      

      Mit dem put gibts aber ein Problem: Er eröffnet jedesmal für sich ein neuen Datensatz wo er dann Feld3 ausfüllt. Je nach dem wo sich die Perl-Teil befindet:

      Put-Scrip vor do_all-Block ergibt leerer Datensatz dann neuer Datensatz
      Put-Script nach do_all Block ergibt neuer Datensatz dann leerer Datensatz.

      Da brauchts wohl noch Rat von den Spezialisten.

      Ich habe eine Demo-Datenbank gemacht:

      http://baseportal.de/cgi-bin/baseportal.pl?htx=/dwenger/test4/Modulo

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 22.August.2005, 21:32.
    Re: Feldinhalte verbinden




      falsch:
      <perl>
      if ($cmd eq "add")
      {
      put [Feld3,"$_put{Feld1}$_put{Feld2}"], "Modulo";
      }
      </perl>
      


      richtig:

      <perl>
      if ($cmd eq "add")
      {
      put ["Feld3","$_put{Feld1}$_put{Feld2}"], "Modulo";
      }
      </perl>
      

      ist schon so eine Sache mit dem "Mixen";-))


      Feld3 muss in "" geschrieben werden;-)

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Montag, 22.August.2005, 21:52.
    Re: Feldinhalte verbinden

      Sollte es auch nicht funktionieren, dann halt so:



      <perl>
      if ($cmd eq "add")
      {
      $cmd="";
      put ["Feld3","$_put{Feld1} $_put{Feld2}", "Feldxy", $_put{xy}"], "Modulo";
      }
      </perl>
      

      und die anderen Felder entsprechend "anhängen"

      "Feldxy", $_put{xy}","Feldxyz", $_put{xyz}" usw.

      Gruß

      Claus

     Antworten

    Beitrag von Daniel Wenger (13 Beiträge) am Montag, 22.August.2005, 23:16.
    Re: Feldinhalte verbinden

      Der erste Vorschlag sieht gleich aus. Der Zweite bringt mir einen Korrekten Datensatz aber auch einen unkorrekten.

      <perl>
      if ($cmd eq "add")
      {
      $cmd="";
      put ["Feld3","$_put{Feld1}$_put{Feld2}", "Vorname", "$_put{Vorname}",, "Name","$_put{Name}"], "Modulo";
      }
      </perl>
      


      Try it ;-)

      ....und danke für die Hilfe.

      Daniel


      http://baseportal.de/cgi-bin/baseportal.pl?htx=/dwenger/test4/Modulo

     Antworten

    Beitrag von Claus (4645 Beiträge) am Dienstag, 23.August.2005, 12:58.
    Re: Feldinhalte verbinden

      Dann versuch mal so:

      <perl>
      if ($cmd eq "add")
      {
       
      

      $_put{Feld3}= $_put{Feld1} $_put{Feld2};



      }
      </perl>
       
      

      Gruß

      Claus

     Antworten

    Beitrag von Claus (4645 Beiträge) am Mittwoch, 24.August.2005, 17:04.
    Re: Feldinhalte verbinden/Nachtrag;-))

      Hallo Daniel,

      hate was vergessen;-)

      muß richtig heißen:


      <perl>
      if ($cmd eq "add")
      

      {

      $_put{Feld3}= "$_put{Feld1} $_put{Feld2}";
      


       

      }
      </perl>
      


      Gruß

      Claus

     Antworten


     
 Liste der Einträge von 22801 bis 22951: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!