$this->Array bezeichner aus DB auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • $this->Array bezeichner aus DB auslesen

    Moin,
    ich habe folgend Codefrage:
    ich habe in einer Klasse ein array mit mit arrays, welche für verschiedene Domainarten stehen:
    PHP-Code:
    $this->Domains = array( & $this->DomainDE,
                                      & 
    $this->DomainTV,
                                      & 
    $this->DomainCNO,//com net org
                                      
    $this->DomainFM,
    //etc................
                                      
    NoKat => 0,// Anzahl von Domainkategorien:
                                      
    error => "",
                                      
    anzahl => 0,
                                      
    gesamt => 0); 
    Jetzt sollen die Domainkategorien aus einer DB ausgelesen werden.
    folgender Code:
    PHP-Code:
     $sql "select * from DomainRegex";
     
    $connection ConnectToDb();//Verbinden mit DB
     
    $result mysql_query($sql$connection) or die(mysql_error());
     
    $i 0;
     while(
    $row mysql_fetch_object$result )) {// solange Datensätze
               
    eval("$"."this->Domains = Domain"."$"."row->Kategorie;");
               
    $i $i 1;
     }
    //solange Datensätze
     
    mysql_close(); //Schließen der Verbindung 
    erzeugt die Fehlermeldung:
    PHP-Code:
    Parse errorparse errorunexpected T_VARIABLE in ../class/class.Rechnung.inc(200) : eval()'d code on line 1 
    wer kann mir helfen & wer weiß ein Tutorial zu eval (http://php.net/eval bringt mich nicht weiter) oder kennt eine alternative Schreibweise ?
    "I don't want to belong to any club that would accept me as a member."

    Groucho Marx

  • #2
    Was willst Du denn mit eval bewirken? Werde da irgendwie nicht schlau draus.

    Kommentar


    • #3
      dein eval macht mir keinen sinn....

      was hast du damit vor?
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        dein eval:
        PHP-Code:
        $this->Domains Domain$row->Kategorie
        sinn?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Re: $this->Array bezeichner aus DB auslesen

          PHP-Code:
          eval("\$this->Domains = \"Domain\".\$row->Kategorie;"); 
          test ma

          einfacher wär das:
          $this->Domains = 'Domain'.$row->Kategorie;

          mfg

          Kommentar


          • #6
            also meine Klasse hat für jede Domainkategorie ein array:
            PHP-Code:
            var $DomainDE = array();
            var 
            $DomainTV = array();
            // etc. 
            diese Arrays werden mit Informationen aus einer Mysql DB gefüllt und dann in einem Array zusammengefasst:
            PHP-Code:
                      $this->Domains = array( & $this->DomainDE,
                                              & 
            $this->DomainTV,
                                              & 
            $this->DomainCNO,
            //etc. bis:
                                              
            $this->DomainINFO
                                              
            NoKat => 0,// Anzahl von Domainkategorien:
                                              
            error => "",
                                              
            anzahl => 0,
                                              
            gesamt => 0); 
            die Domainkategorien sollen jetzt aus einer DB ausgelesen werden, also als pseudo - Code:
            in der Klassen definition
            PHP-Code:
            foreach (eintrag_inner_db){
                          var 
            $Domain{Kennung_aus_der_DB} = array();

            im Domainsarray:
            PHP-Code:
            $this->Domains = array(
                  foreach (
            eintrag_inner_db){
                                
            $this->Domain{Kennung_aus_der_DB},
                 }
                  
            NoKat => 0,// Anzahl von Domainkategorien:
                  
            error => "",
                  
            anzahl => 0,
                  
            gesamt => 0); 
            $this->Domain{Kennung_aus_der_DB},
            ist ein Mix aus Variable($this->Domain) und einem String aus der DB(Kennung_aus_der_DB).
            eval habe ich bisher so verstanden, das ein eintrag aus einer DB als Code ausgeführt wird bzw. ein Variabelnen name aus einem String erzeugt werden kann........
            "I don't want to belong to any club that would accept me as a member."

            Groucho Marx

            Kommentar


            • #7
              Re: Re: $this->Array bezeichner aus DB auslesen

              Original geschrieben von Trashar
              PHP-Code:
              eval("\$this->Domains = \"Domain\".\$row->Kategorie;"); 
              test ma

              einfacher wär das:
              $this->Domains = 'Domain'.$row->Kategorie;

              mfg

              Kommentar


              • #8
                THX Trashar,
                aber wie kann ich die Klassendefinition dynamisch gestalten ?
                PHP-Code:
                 $sql "select * from DomainRegex";
                 
                $connection ConnectToDb();//Verbinden mit DB
                 
                $result mysql_query($sql$connection) or die("@mainquery01 ".mysql_error());
                 
                $i 0;
                 while(
                $row mysql_fetch_object$result )) {// solange Datensätze
                       
                var 'Domain'.$row->Kategorie = array();
                    
                $i $i 1;
                 }
                //solange Datensätze 
                in der Klassen definition gibt mir den Fehler:
                PHP-Code:
                Parse errorparse errorunexpected T_VARIABLEexpecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in ../phptmp/class/class.Rechnung.inc on line 33 
                oder auch ganz allgemein:
                wie kann ich mir eine Klassendefinitiondynamisch gestalten ???????
                "I don't want to belong to any club that would accept me as a member."

                Groucho Marx

                Kommentar


                • #9
                  meinst du
                  PHP-Code:
                   ${'Domain'.$row->Kategorie} = array(); 
                  ?

                  so würdest du z. b. diese arrays bekommen:
                  $Domainblubb
                  $Domainblah
                  $Domainx
                  $Domainy
                  ...
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    ja, mrhappiness
                    "I don't want to belong to any club that would accept me as a member."

                    Groucho Marx

                    Kommentar


                    • #11
                      Dynamische Klassendefinition

                      Besteht in PHP die Möglichkeit, innerhalb einer Klassendefinition variablenbezeichner aus einer Datenbank auszulesen, also die anzahl und die namen von Klassenattributen aus einer DB auszulesen ?
                      "I don't want to belong to any club that would accept me as a member."

                      Groucho Marx

                      Kommentar


                      • #12
                        ja. im constructor kannst du dann alles definieren oder auf definierte werte setzen.
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar


                        • #13
                          nein, aber du kannst sie in ein array packen
                          PHP-Code:
                          class xyz
                          {
                            var 
                          $variablen=array();


                            function 
                          neuereintrag($key$value)
                            {
                              
                          $this->variablen[$key]=$value;
                            }

                          @haxe
                          ich glaube das hat er nicht gemeint, aber das weiß man nicht, wenn er für einund dasselbe thema zwei threads aufmacht
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Original geschrieben von mrhappiness
                            nein, aber du kannst sie in ein array packen
                            womit meine aussage zutrifft...
                            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                            Kommentar


                            • #15
                              Wieso, hab' doch das zweite Thread allgemeiner gehalten:
                              Wie erzeuge ich eine Dynamische Klassendefinition.
                              zb. eine Klasse für die Verwaltung von Obst auf Basis einer DB - Abfrage:
                              wenn in der DB steht:

                              apfel
                              birne

                              soll ein Objekt der Klasse die Attribute

                              $this->apfel;
                              $this->birne;

                              enthalten. Steht in der DB:

                              apfel
                              birne
                              banane
                              orange

                              entsprechenden:

                              $this->apfel;
                              $this->birne;
                              $this->banane;
                              $this->orange;
                              "I don't want to belong to any club that would accept me as a member."

                              Groucho Marx

                              Kommentar

                              Lädt...
                              X