ich hab ein kleines Template-Problem. Ich nutze die php-eigene "Template-Engine".
Ich bastel aus 2 While-Schleifen ein dynamisches Menu:
Hauptmenu 1
* Untermenu 1
* Untermenu 3
* Untermenu 4
Hauptmenu 2
* Untermenu 1
* Untermenu 2
Hauptmenu 3
* Untermenu 3
* Untermenu 4
usw.
Kleine Detailinfo: die Menus sind eigentlich Gruppen; eine Untergruppe kann in jeder Hauptgruppe vorkommen, eine Untergruppe kann eine Hauptgruppe sein. Ich fülle eine Datenbank. Ich sage das der Datensatz in die Hauptgruppe "Webseiten" soll und in der Untergruppe "Windows". - jetzt hab ich ein Hauptmenu "Webseiten" und ein Untermenu "Windows"
Das ganze klappt recht gut - solang ich nicht mit Templates arbeite. Bei Template sieht das Ergebnis so aus:
Hauptmenu 1:
* Untermenu 1
* Untermenu 3
* Untermenu 4
* Untermenu 1
* Untermenu 2
* Untermenu 3
* Untermenu 4
Hauptmenu 2:
(wie Hauptmenu 1)
Folgenden Code (gekürzt) nutze ich:
menu.php
Code: Alles auswählen
$result = mysql_query .... // ich hole das "Hauptmenu"
$loop = array();
$loop2 = array();
while($row = mysql_fetch_array($result))
{
// Abfrage zum zählen der Datensätze fürs Hauptmenu (Hauptmenu 1 hat 3 Einträge, Hauptmenu 2 hat 2 usw.)
array_push(
$loop,
array(
'name' => $row['name']
)
);
// in der Templatelosenversion stehen hier jetzt entsprechende HTML-Ausgaben
$result2 = mysql_query(.... // ich hole jetzt die zum aktuellen Hauptmenu gehörigen Untermenus
while($row = mysql_fetch_array($result2))
{
// Abfrage zum zählen der Datensätze fürs Untermenu (Untermenu 1 unter Hauptmenu 1 hat x Einträge)
array_push(
$loop2,
array(
'name' => $row2['name']
)
);
// in der Templatelosenversion stehen hier jetzt entsprechende HTML-Ausgaben
}
}
require_once 'ausgabe.tpl';
Code: Alles auswählen
<?php foreach ($loop as $td_row): ?>
<?=$td_row['name']?><br>
<?php foreach ($loop2 as $td_row2): ?>
<?=$td_row2['name']?>*<br>
<?php endforeach; ?>
<br>
<?php endforeach; ?>
Ich bastel in der .php mehr oder weniger ja schon die komplette Ausgabe (array_push erweitert das array immer mehr) und hau die so ins tpl. Ich weiß nur nicht wie ich richtig machen kann :|
Eine Lösung wäre wenn ich in der php schon die komplette "ausgabe" erstelle. Dann ohne Array. Aber dann brauch ich auch kein template

Gruß
Wuppi