Re: @Perler (Sander) - In Fkt. v. db.fields auch regex möglich? - 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 Freitag, 30.August.2002, 09:07.
    Re: @Perler (Sander) - In Fkt. v. db.fields auch regex möglich?

      mail: ja - bekommst heute noch antwort... :-)

      Sander


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 29.August.2002, 12:44.
    @Perler (Sander) - In Fkt. v. db.fields auch regex möglich?

      Hallo,
      geht es, Inhalte bestimmter Felder vom Typ Checkbox, deren Name bspw. alle mit a_ beginnen, in ner Schleife in eine Variable(oder noch besser gleich in eine Liste) einzulesen und mit Komma (oder nem anderen Zeichen) zu verketten, so daß die dann wieder mittels foreach unterschiedlich weiterbearbeitet werden können?
      Sinn: wenn weitere Checkboxfelder dazukommen, muß man das Script nicht mehr ändern, sondern die Liste, die die Inhalte der Felder enthält bekommt automatisch die Einträge dazu. Brauche das ganze für ne komplexe Nutzerverwaltung - habs noch nicht hingekriegt, bisher halt nur "händisch" mit festen Einträgen für die Feldmanen in der Art:
      @l_rechte = ($a_db1, $a_db2, $a_db3)
      
      wobei a_db1 jeweils eines der Checkboxfelder aus der bp-Datenbank ist.

      Die Logik hatte ich mir so gedacht:
      für jeden Feldname der mit a_ beginnt
      @liste = push(Feldinhalt)
      

      Danke für Hilfe
      Ruben

     Antworten

    Beitrag von H.Fehde (724 Beiträge) am Donnerstag, 29.August.2002, 18:05. WWW: www.bei123.de
    Re: @Perler (Sander) - In Fkt. v. db.fields auch regex möglich?

      ..versuch's mal so:

      foreach (@{$$_db{_field}})
      {
      push(@liste,"\$$_,") if(substr($_,0,2) eq "a_"); 
      }
      out @liste;
      

      Gruß Harald

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Donnerstag, 29.August.2002, 21:23.
    Leider kein Ergebnis - war @Perler - In Fkt. v. db.fields auch ...

      Danke erst mal für den Denkanstoß, aber ich kriegs nicht hin.
      Irgendwie werden die Referenzen zu den Feldnamen nicht aufgelöst, die Liste @liste ist immer leer, initialisiert wird sie.
      Hier mal mein Debug-Code, den ich getestet habe:
      <include src=i_global>
      <perl>
      get "Id=*", "datenbank";
      foreach (@{$$_datenbank{_field}})
      {
      push(@liste,"$$_,"); # if(substr($_,0,2) eq "a_"); 
      }
      foreach (@liste)
      {
      $aus.= "Wert von \$_: $_<br>";
      }
      $zahl = $#liste;
      out<<EOF;
      ${\&head() }
      ${\&body() }
      $aus<br>
      $zahl<br>
      $Ort
      ${\&foot() }
      EOF
      </perl>
      
      Leider kommt nix in die Liste, obwohl ich die regex schon ausgeschaltet habe.
      Da ist noch irgend ein Haken im Konstrukt für die Liste der Felder.....
      Gruß
      Ruben

     Antworten

    Beitrag von H.Fehde (724 Beiträge) am Donnerstag, 29.August.2002, 23:44. WWW: www.bei123.de
    Re: Leider kein Ergebnis - war @Perler - In Fkt. v. db.fields auch ...

      ne ne,..das Konstrukt "(@{$$_db{_field}})" erkennt doch die Datenbank schon, egal welche mit get angesprochen wurde!!.

      <perl>
      get "Id=*", "datenbank";
      foreach (@{$$_db{_field}})
      {
      push(@liste,"\$$_") if(substr($_,0,2) eq "Id"); 
      }
      
      ....
      </perl>

      Ich hab mal im push das Komma weggemacht, damit im Array die Daten nicht noch ein Komma haben. ;-)

      Gruß Harald

     Antworten

    Beitrag von H.Fehde (724 Beiträge) am Donnerstag, 29.August.2002, 23:51.
    Re: Leider kein Ergebnis - war @Perler - In Fkt. v. db.fields auch ...

      sorry, da war noch ein falscher Teil von meinem Code drin - Du wolltest ja alle mit "a_" am Anfang.

      push(@liste,"\$$_") if(substr($_,0,2) eq "a_"); 
      
      ...
      Harald

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 29.August.2002, 23:36.
    Re: @Perler (Sander) - In Fkt. v. db.fields auch regex möglich?

      so wirds was...

      get "Id=*", "dbname.fields";
      while(get_next "dbname.fields")
      {
      push(@liste,$Field) # if($Type eq "checkbox" && $Field=~/^a_/); 
      }
      

      Sander

     Antworten

    Beitrag von Sander (8133 Beiträge) am Donnerstag, 29.August.2002, 23:37.
    Re: @Perler (Sander) - In Fkt. v. db.fields auch regex möglich?

      natürlich ohne # ;-)

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Freitag, 30.August.2002, 08:15.
    Re: @Perler (Sander) - In Fkt. v. db.fields auch regex möglich?

      Jepp - es funzt, danke. Jetzt wo es hier steht, schlag ich mir an die Stirn - logo. Es muß ja erst mal die DB mit den Felddefinitionen geholt werden, eh man was draus nehmen kann.
      Danke für die Hilfe, nu komm ich weiter....
      Ruben
      PS: Habt Ihr meine Mail bekommen, Sander? Wäre wichtig.

     Antworten

    Beitrag von Sander (8133 Beiträge) am Freitag, 30.August.2002, 09:07.
    Re: @Perler (Sander) - In Fkt. v. db.fields auch regex möglich?

      mail: ja - bekommst heute noch antwort... :-)

      Sander

     Antworten

    Beitrag von H.Fehde (724 Beiträge) am Freitag, 30.August.2002, 00:10.
    Re: @Perler (Sander) - In Fkt. v. db.fields auch regex möglich?

      get "Id=*", "datenbank";
      foreach (@{$$_db{_field}})
      {
      push(@liste,"\$$_") if(substr($_,0,2) eq "a_"); 
      }
      
      ....
      ist doch das Selbe ;-)

     Antworten


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