Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Durch Schleife HTML ausgeben
#1
Hallo,
ich habe eine for Schleife und durch diese möchte ich einer Tabelle neue Zeilen hinzufügen. Allerdings klappt dies nicht.

Hier ist der Teil, der im mybb Ordner liegt:
PHP-Code:
for($j=0$j<=5$j++)
{
$Li_Eintopf getGericht($eintopf$dwoche$j);
eval(
"\$list = \"".$templates->get('mensa_list')."\";");
echo 
"test".$j;



mensa_list ist einfach das Innenleben einer Tabelle. Diese soll halt 6 Zeilen am Ende besitzen. $list ist der Anker in der Tabelle, die ich am Ende mit
PHP-Code:
eval("\$mensa = \"".$templates->get('mensa_top')."\";");
output_page($mensa); 
ausgebe. Für den Aktuellen Tag funktioniert das auch wunderbar. Aber nicht für die Woche. Die Unterscheidung liegt in einem if{} elseif{} Konstrukt. Das letzte eval und output_page liegt ausserhalb des Konstrukts. Ich weiß, dass die Schleife durchlaufen wird (s. echo), allerdings wird wahrscheinlich der eval Code nicht ausgeführt.

Hab so auch nichts verwertbares gefunden, woran ich mich orientieren kann. Vielleicht weiß jmd ja Rat.

[edit]
bzw. mir ist grad aufgefallen, dass eval genau einmal ausgeführt wird. Aber nicht häufiger. Oder muß ich für jeden Schleifendurchlauf ein eval++ machen?
[/edit]
Zitieren
#2
Wahrscheinlich schon.

Leider versteh ich noch nciht ganz, was genau du machen willst und was im Template schon drin ist.

Zitieren
#3
Ich möchte eigentlich nur einer Tabelle ein bisschen Inhalt geben.

Ich habe mir zwei Templates angelegt. Einmal den Körper und einmal den Inhalt. Im Körper verweise ich nun mit {\list} auf den Inhalt. Der Inhalt sind einfach die Zeilen (Spalten bleiben immer gleich).

Jetzt wollte ich durch die for-Schleife mehrere Zeilen erzeugen, was bis jetzt aber nur einmal klappt und nicht sechs Mal.

Hoffe es ist etwas klarer geworden Confused
Zitieren
#4
Die Variable $list gibt also später den Inhalt der Tabelle aus und das Template mensa_list enthält eine Tabellenzeile?

Ersetze die Zeile
PHP-Code:
eval("\$list = \"".$templates->get('mensa_list')."\";"); 
mal bitte durch
PHP-Code:
eval("\$list .= \"".$templates->get('mensa_list')."\";"); 
Im Moment ist es so, dass die Variable $list bei jedem Durchlauf überschrieben wird, aber eigentlich soll sie ja erweitert werden, oder?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#5
Ahh... Der kleine Punkt war's also.

Genau richtig. Sie soll erweitert werden. Perfekt! Problem gelöst.

Vielen Dank.
Zitieren