Mailinglisten-Archive |
Hallo Alex,
danke für Deine Antwort. Dein Vorschlag funktioniert wunderbar, aber
jetzt verstehe ich weniger als vorher:
> while ($q->next_record()) {
> $semester_typ = $q->f("semester_typ");
> $t->set_var("SEMESTER_TYP",$semester_typ);
> $qquery = "SELECT * FROM semester WHERE semester_typ='$semester_typ'
> ";
> $qq->query($qquery);
> if ($qq->num_rows()>0) {
> $t->set_var("MONTH_ROWS",""); //NEU NEU NEU
Die Zeile ist mir klar, hatte ich doch bei einigen Experimenten die
Ausgabe der Monate hinbekommen. Nur wurde beim ersten Semester dir richtigen,
1
2
3
dann beim zweiten die vom vorigen und die dem Semester entsprechenden
angezeigt.
1
2
3
und
4
5
6
wobei nur 456 richtig wären. Also so weit kann ich Dir noch folgen ...
> while ($qq->next_record()) {
> $semester_month = $qq->f("semester_month");
> $t->set_var("SEMESTER_MONTH",$semester_month);
> $t->parse("MONTH_ROWS","MONTH_ROW", true);
diese Zeile verstehe ich nicht. Ich habe sie zwar aus den Bsp-Sourcen
übernommen, aber klar ist sie mir deshalb noch lange nicht. Was passiert
da genau?
Meine "Vermutung":
der Teil aus der ihtml-Datei wird zu einer neuen "Datei", welche ihr
handle in "MONTH_ROWS" ablegt.
> } // end of while
> }
> $t->parse("OUT_MONTH","MONTH_ROWS"); //NEU NEU NEU
... und hier verstehe ich gar nichts mehr. "MONTH_ROWS" wird zu
"OUT_MONTH" - warum noch mal parsen? Und warum dann mit dem default-Wert
"false"?
Meine Vermutung:
Oben (bei meiner ersten Frage) wird der Platzhalter durch einen reellen
Wert ersetzt. Das "true" besagt, daß die Ersetzung weiter geht und nicht
nach dem ersten Wert beendet ist. Nun habe ich also eine Zeile, die bei
dem zweiten "parse" zu mit der vorherigen (sollte eine existieren)
verknüpft wird - die Liste wird also erstellt.
Ist dem so, oder liege ich (wie ich vermute) völlig falsch?
> $t->parse("SEMESTER_ROWS","SEMESTER_ROW", true);
wieder "raten":
die einzelnen Semester werden zu einer Liste zusammengefügt. Das Handle
"SEMESTER_ROWS" zeigt auf das Ergebnis dieser Zusammenfügung.
Nur: Warum wird hier anders als bei MONTH verfahren? Müßte hier nicht
auch ein:
$t->parse("SEMESTER_ROWS","SEMESTER_ROW", true);
von einem
$t->parse("OUT","SEMESTER_ROW");
folgen?
> Keine anderen parses hier. Deren Funktionsprinzip hast Du noch nicht
> ganz begriffen (ich brauchte auch ne Weile).
Mein Reden - genau da liegt das Problem. Aber aus den paar Zeilen Doku
werde ich einfach nicht schlau. Kannst Du mir vielleicht mit ein paar
Tips auf die Sprünge helfen?
> Für Erklärungen hab ich jetzt aber leider keine Zeit...
... es eilt ja nicht - vielleicht hast Du ja irgendwann ein paar Minuten?
Ansonsten wünsche ich noch ein schönes Wochenende und danke noch einmal
für Deine Hilfe!
Bye,
Heiko
php::bar PHP Wiki - Listenarchive