[OOP] Gästebuch - Klasse - Enträge auslesen

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

  • [OOP] Gästebuch - Klasse - Enträge auslesen

    Ich bin dabei ein Gästebuch objektorientiert zu programmieren.

    Dazu habe ich die Klassen "datenbank" und "gaestebuch".

    Ich möchte später auf einer Seite eine neue Instanz von gaestebuch erstellen ($test = new gaestebuch und dann alle Einträge auslesen können (Funktion siehe unten). Allerdings soll sich in den Klassen selbst kein! HTML-Code zur Ausgabe befinden...

    Hier der Ausschnitt, der mich verzweifeln lässt:

    Das ist eine Funktion der Klasse:

    PHP-Code:
        function gaestebuch_auslesen() {
          
    $res $this->datenbank->datenbank_query("SELECT * FROM oop_gaestebuch ORDER BY id DESC");
          while(
    $zeige mysql_fetch_array($res)) {
            
    // AUSLESEN
          
    }
        } 
    Wie kann ich die Abfrage nun so gestalten, dass ich später die Werte z.B. in einem Template so abfragen kann?

    echo $test->eintrag_name;
    echo $test->eintrag_email;

    etc.

    In der Datenbank gibt es halt die Standard-Funktionen: Verbinden, Trenne, DB-Auswählen, Query, Error-Ausgabe. In der Gästebuch-Klasse habe ich die Datenbank-Klasse includet und dort eine neue Instanz erstellt.

    PHP-Code:
    ...
        var 
    $hatdatenbank;
        
        function 
    gaestebuch() {
        include(
    "class.datenbank.php");
            
    $this->hatdatenbank = new datenbank();
        } 
    Globale Variablen? Werden doch bei jedem durchgang der Abfrage überschrieben oder? Arrays? ...



    Würde mich über eine ausführliche Antwort am besten mit Beispiel-Code freuen. (Habe schon im Netz nach einer Gästebuch-Klasse geschaut, um mal zu sehen, wie sowas geht, doch leider nichts gefunden ).

    Ich komme nicht weiter! Bitte um ausführliche Hilfe...

    DANKE!

    PS: Habe hier im Forum schon gesucht und gesehen, dass hier der ein oder andere schon eine Klasse für ein Gästebuch programmiert hat. Würde mich echt über Hilfe freuen!

  • #2
    wenn du schon mit OOP anfängst, solltest du mal die globalen variablen ganz schnell vergessen.

    und ja... mit arrays kann man alles zusammenstellen und nach aussen geben.
    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


    • #3
      ja, es wär ganz nützlich, wenn du dein return noch mal dazu postest...
      andererseits könntest du die Einträge auch gleich in der Funktion ausgeben lassen, das ließe sich mit einem oder zwei neuen parametern auch recht dynamisch gestalten,...

      Kommentar


      • #4
        Du kennst ja die Felder die Du auslesen willst..
        PHP-Code:

        class gb
        {
            var 
        gb_name = array();
            var 
        gb_email = array();
            var 
        gb_entrag = array();

        // ...............
        function gaestebuch_auslesen() {
              
        $res $this->datenbank->datenbank_query("SELECT name,email,eintrag FROM oop_gaestebuch ORDER BY id DESC");
              while(list(
        $name,$email,$eintrag) = mysql_fetch_row($res)) {
                 
        $this->gb_name[] = $name;
                 
        $this->gb_email[] = $email;
                 
        $this->gb_eintrag[] = $eintrag;
              }
            }

        Dann bekommste die Klamotten mit
        $gb->gb_email[0]..... usw..... (Arrays fangen mit Eintrag NULL an nich EINS)
        [font=verdana] '][' .... düdeldüdel dü

        Gruss Socket
        -----
        Nein, ich programmiere kein Clan-Script für Dich, nein, auch nicht wenn Deine Schwester gut aussieht!
        [color=darkblue]
        Socket Funktionen[/color]
        [/font]

        Kommentar


        • #5
          Danke schon mal. Nun habe ich die Daten in Arrays...

          Wie kann ich das nun gestalten, dass ich auf meiner Seite nur

          $test->zeigean();

          schreiben muss?

          Praktisch eine neue Funktion, die eine For-Schleife solange durchfährt, wie es Einträge im Gästebuch gibt oder??

          Kommentar


          • #6
            sgtest du nicht, das du keine (html)-ausgabe machen wolltest?

            aber eigentlich hast du dir die frage schon selbst beantwortet.

            PHP-Code:
            function zeigean()
            {
                foreach(
            $this->gb_eintrag as $k => $v)
                {
                    echo 
            'Name:' $this->gb_name[$k];
                    echo 
            'Email:' $this->gb_email[$k];
                    echo 
            'Eintrag:' $v;
                }

            ... und besucht mal den ebay(TM)-browser überhaupt: Lauge
            und damit das Fragen nen Ende hat: Der Progger davon sitzt mir gegenüber !

            Kommentar

            Lädt...
            X