array in einem objekt weitergeben

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

  • array in einem objekt weitergeben

    Hallo ich habe folgendes Problem.
    In meiner Klasse habe ich eine Funktion geschrieben mit der ein Objekt erstellt wird:
    PHP-Code:
    public function get_pages_all($website_id){
            global 
    $db;
            
    $p_lesen = new ParameterListe();
            
    $p_lesen->add('sql''SELECT page_id, page_title FROM page WHERE website_id = "'.$website_id.'"');
            
    $ausgabe $db->lesen($p_lesen);
            
            foreach (
    $ausgabe as $wert => $erg){
                
    $this->page_id $erg[0];
                
    $this->page_title $erg[1]; 
    setze ich ein "echo" vor die Ausgabe bekomme ich die Daten aus dem Array angezeigt (2 Datensätze).
    also echo $this->page_id .... und echo $this->page_title ergibt:

    1 erster titel 2 zweiter titel

    In der Datei website.php frage ich wie folgt diese Ausgabe ab:

    PHP-Code:
    $page = new Page();
        
    $page->get_pages_all($_GET['website_id']);

        
    print_r($page->page_title); 
    Die Ausgabe ist: zweiter titel

    Hier bekomme ich allerdings nicht die kompletten Daten also das Array angezeigt sondern nur einen Datensatz und nicht die zwei Datensätze.

    Wie bekomme ich das Array von der Klasse in die website.php

    Danke für Eure Hilfe.

    Thomas
    Zuletzt geändert von tomdf; 11.08.2011, 22:43.

  • #2
    Hallo,

    bitte benutz Code-Tags für Quelltext (siehe Signatur).

    Das Problem ist mit den gegebenen Informationen nicht nachvollziehbar. Der Rückgabewert der Funktion ist nicht ersichtlich, daher lässt sich nicht feststellen, ob wirklich mehrere Werte als Array dort herauskommen. Dass in der foreach-Schleife Membervariablen gesetzt werden, spricht eigentlich schon dagegen, aber das ist nicht der einzige Designfehler.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      ich habe die Code Tags eingesetzt und das Ergebnis der Abfragen mit aufgenommen.

      Kommentar


      • #4
        Wie sieht denn dein return-Statement aus? Dass man mit echo in einer Schleife etwas mehrmals ausgeben kann, heißt noch nicht, dass auch eine Array mehrerer Werte zurückgegeben wird.
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Kommentar


        • #5
          Worked as designed würde ich sagen.
          PHP-Code:
          $this->page_id[] = $erg[0];
          $this->page_title[] = $erg[1]; 
          Peter

          PS: Und lass den Blödsinn mit diesem global!
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Analog dazu könnte doch das hier klappen


            Ist als Beispiel gedacht.
            PHP-Code:
             $arr_entries = array();
                    foreach (
            $nodelist as $n){

                         
            $url $n->getAttribute('href');
                        
            $url $n->nodeValue."\n";

                        
            //echo $url;
                        //echo '<br/>';
                        

                    
            $arr_entries[] = $url;
                }

                return 
            $arr_entries

            Kommentar


            • #7
              Herzlichen Dank an alle die hier so schnell geantwortet haben.
              Ihr habt mir sehr geholfen.
              an Peter: genau das ist die Lösung!
              So einfach und doch so gut.
              Ich habe mir 2 Tage den Kopf zerbrochen wie ich das lösen kann und es sind zwei kleine Klammern.

              Danke für Eure Hilfe jetzt kann ich weiterarbeiten
              Euch allen ein schönes Wochenende.
              Zuletzt geändert von tomdf; 12.08.2011, 18:23.

              Kommentar

              Lädt...
              X