[Variablen] Array und Template

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

  • [Variablen] Array und Template

    Hallo zusammen,

    wie er sehen könnt, ist dies mein erster Beitrag in diesem Forum. Also bitte nicht steinigen, wenn ich Nonsens erzähle oder Noobfragen stelle

    Folgendes Problem:

    Ich habe auf einer *.php Seite eine Abfrage auf eine Datenbank eingebaut. Dabei wird in ein Array der gesamte Inhalt eines Tables ausgelesen.

    PHP-Code:
    $sql_termine "SELECT * FROM termine ORDER BY tag DESC";
       
    $query_termine mysql_query ($sql_termine$link);
       while (
    $termine_array mysql_fetch_array ($query_termine))
          {
             
    $datum1 $termine_array['datum']."<br>";
             
    $datum2 $datum2.$datum1;
             
    $datum $datum2;

             
    $topic1 $termine_array['topic']."<br>";
             
    $topic2 $topic2.$topic1;
             
    $topic $topic2;
          } 
    Weiterhin werden auf dieser Seite dann an einer anderen Stelle die templates zugewiesen und an eine 2 Datei *.tpl weitergegeben.

    PHP-Code:
    $template->assign_vars(array(
            
    'datum' => $datum,
            
    'topic' => $topic,
    ); 
    Mein Problem ist nun, dass ja aus der Tabelle mehrere Zeilen ausgelesen werden, die dann an die *.tpl weitergeben werden sollen. Da jedoch die Schleife bis zum letzten Datensatz zuerst durchlaufen wird, wird dann auch nur die letzt Zeile der Tabelle an die *.tpl weitergegeben.

    Wie Ihr sehen könnt, habe ich mir dann eine Notlösung gebastelt, indem ich immer eine Variable um den nächsten Datensatz ergänze und dann komplett an weiterleite.

    Ich möchte nun jedoch alle Datensätze die vorhanden sind, einzeln weiterleiten??????

    Kann mir da einer weiterhelfen bitte?

    Lieber Gruss Uwe
    Zuletzt geändert von Ry@n; 31.08.2004, 12:02.

  • #2
    Re: [Variablen] Array und Template

    Original geschrieben von Ry@n
    wie er sehen könnt, ist dies mein erster Beitrag in diesem Forum. Also bitte nicht steinigen, wenn ich Nonsens erzähle oder Noobfragen stelle
    dann gewöhne dir bitte direkt an, die entsprechenden forum-tags beim posten zu verwenden. ich habe es ausnahmsweise mal bei dir angepasst ....

    Original geschrieben von Ry@n
    Ich möchte nun jedoch alle Datensätze die vorhanden sind, einzeln weiterleiten??????
    jetzt stellt sich nur die frage, was die tmpl-engine so kann. und vor allem welche tmpl-engine zu einsetzt.
    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
      hmm, kann zwar nicht ganz folgen, aber

      BTW: benutz bitte die [PHP ]-tags, dann kann man den Quelltext besser lesen.

      PHP-Code:
      $topic1 $termine_array['topic']."<br>";
      $topic2 $topic2.$topic1;
      $topic $topic2
      kannst du kürzer schreiben:

      PHP-Code:
      topic.= $termine_array['topic']."<br>"
      Ich kenne deine Template-Klasse nicht, aber vermutlich kannst du

      PHP-Code:
      $template->assign_vars(array(
      'datum' => $datum,
      'topic' => $topic,
      ); 
      in die Schleife einbauen.,

      Kommentar


      • #4
        Hallo Ihr Beiden,

        vielen Dank für Eure schnellen Antworten. Ja hatte es auch gesehen, dass der Quelltext so dumm aussieht und hab die entsprechenden Tags ergänzt.

        Ich werde mal versuchen die Zuweisung der Templates in die Schleife einzubauen. Mal schauen ob das klappt.

        Gruss Uwe

        Kommentar


        • #5
          Hallo,

          habe gerade mal die Zuweisung der Templates in die Schleife eingebaut und bekomme nun beim Aufruf der Seite der Fehlermeldung:

          Fatal error: Call to a member function on a non-object in portal.php on line 62

          Was bedeutet diese Meldung?

          Kommentar


          • #6
            was steht denn .... in portal.php on line 62
            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


            • #7
              PHP-Code:
              $template->assign_vars(array(
                      
              'datum' => $datum,
                      
              'topic' => $topic)
              ); 

              Gruss Uwe

              Kommentar


              • #8
                post mal bitte, wo du $template initialisierst und wie die methode assign_vars() der class aussieht.
                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


                • #9
                  $template sollte schon existieren, bevor du es nutzt!

                  Kommentar


                  • #10
                    Hallo

                    Danke für Eure Antworten. Der Fehler eben lag an der Reihenfolde. Das template war noch nicht intitialisiert. Habe jetzt die Schleife etwas weiter nach Hinten im Programmcode geschoben und es klappt. Nun habe ich jedoch ein weiteres Problem.

                    Wann wird das Template an die *.tpl weitergegeben. Im Moment ist es so, dass die Schleife komplett bis zum letzten Datensatz durchläuft und das Template nun dieses letzten Wert annimmt und diesen weitergibt. Ich brauche jedoch alle Datensätze.

                    Gruss Uwe

                    Kommentar


                    • #11
                      Wann wird das Template an die *.tpl weitergegeben.
                      falsche Frage: Das template ist die .tpl-Datei.

                      Du weißt aber schon, dass du hier nicht von standart-funktionen redest, sondern von irgend einer klasse, deren namen du uns nichtmal veraten hast!

                      Im Moment ist es so, dass die Schleife komplett bis zum letzten Datensatz durchläuft und das Template nun dieses letzten Wert annimmt und diesen weitergibt. Ich brauche jedoch alle Datensätze.
                      Dann scheint deine Klasse keine Schleifen zu unterstützen, jedenfalls nicht auf deinem wege.

                      Kommentar


                      • #12
                        hat dein namenloses templateystem auch eine methode append_vars?

                        alternativ könntest du mit
                        PHP-Code:
                        while ($termine_array mysql_fetch_array ($query_termine));
                        array_pop($termine_array); 
                        alles in ein array einlesen und dann $termine_array an dein template übergebn
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar

                        Lädt...
                        X