Hallo
für eine selbst erstellte Anpassung benötige ich einen Multidimensionalen Array. Ich habe eine Tabelle, die eine variable Anzahl von Spalten und Zeilen.
Dieses Array sollte wie folgt aufgebaut sein:
Array{
Name Max Mustermann
Array{ Spiel1
Spiel2
....
Spieln
}
}
Wie kann ich diesen Array in der .php Datei aufbauen und sichern?
Wie kann ich diesen Array dann im der .html template auslesen?
Aus einem Vorlage habe ich gesehen, dass über die Funktion $template->assign_block_vars eine Blockvariable gesichert wird.
Aber genau was dort geschieht weiss ich nicht.
Ciao bolzi
Mulitdimensionaler Array aufbauen und auslesen
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
- Frank1604
- Ehemaliges Teammitglied
- Beiträge: 2106
- Registriert: 07.11.2007 09:25
- Wohnort: Einhausen
- Kontaktdaten:
Re: Mulitdimensionaler Array aufbauen und auslesen
Schau mal hier, da steht einiges dazu.
http://wiki.phpbb.com/display/MODDOCS/A ... stom+pages
http://wiki.phpbb.com/display/MODDOCS/A ... stom+pages
Und im Template liest du es so wieder aus:Code: Alles auswählen
/* * basic example of the assign block vars for the templates * This basically will allow you to easily display a block or array of data in a template * this is useful for items such as SQL queries to the database and displaying them in your templates. */ foreach ($some_array as $row) { $template->assign_block_vars('block_name', array( 'EXAMPLE' => $row['example'], 'DEMO' => $row['demonstration'], )); }
Code: Alles auswählen
<!-- BEGIN block_name --> <tr class="<!-- IF block_name.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->"> <td>{block_name.EXAMPLE}</td> <td>{block_name.DEMO}</td> </tr> <!-- END block_name -->
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Re: Mulitdimensionaler Array aufbauen und auslesen
Hallo Frank
Erstmal danke für deine Antwort.
Diesen Code habe ich auch gefunden, aber er hilft mir nicht ganz so weit, da innerhalb des Funktionsaufruf
müsste nochmals eine Array aufgebaut werden. Geht das mit der Funktion?
Zumindest hab ich es bis jetzt noch nicht hingebracht.
Ciao bolzi
Erstmal danke für deine Antwort.
Diesen Code habe ich auch gefunden, aber er hilft mir nicht ganz so weit, da innerhalb des Funktionsaufruf
müsste nochmals eine Array aufgebaut werden. Geht das mit der Funktion?
Zumindest hab ich es bis jetzt noch nicht hingebracht.
Ciao bolzi
- Frank1604
- Ehemaliges Teammitglied
- Beiträge: 2106
- Registriert: 07.11.2007 09:25
- Wohnort: Einhausen
- Kontaktdaten:
Re: Mulitdimensionaler Array aufbauen und auslesen
Das kannst beliebig machen, wie du willst. Entweder vorher, oder in der Funktion.
Siehe dazu auch: http://wiki.phpbb.com/display/MODDOCS/T ... ate+syntax
Siehe dazu auch: http://wiki.phpbb.com/display/MODDOCS/T ... ate+syntax
Auslesen im Template:Code: Alles auswählen
while ($topic = $db->sql_fetchrow($result)) { $template->assign_block_vars('topic', array( 'TOPIC_ID' => $topic['topic_id'] )); while ($post = $db->sql_fetchrow($result)) { $template->assign_block_vars('topic.post', array( 'POST_ID' => $post['post_id'] )); } }
Code: Alles auswählen
<!-- BEGIN topic -->
<tr class="<!-- IF topic.S_ROW_COUNT is even -->bg1<!-- ELSE -->bg2<!-- ENDIF -->">
<td>{topic.TOPIC_ID}</td>
<!-- BEGIN post -->
<td>{topic.post.POST_ID}</td>
<!-- END post -->
</tr>
<!-- END topic -->
Gruß, Frank
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Meine Meinung steht fest. Bitte verwirrt mich nicht mit Tatsachen!
Re: Mulitdimensionaler Array aufbauen und auslesen
Hallo Frank
Gerade hab ich diese Änderung ausprobiert, aber es zeigt mir nur die Namen in der ersten Spalte an, nicht die anderen
Begriffe.
Ebenfalls hab ich ein Problem, dass es für nicht ersichtlich ist, ob Änderungen erkannt wurden? Da ich die Datenermittlung mehrmals
geändert habe, aber keine Änderung an der Ausgabe stattgefunden habe.
Auch ist mir aufgefallen, dass jetzt für diese Seite, kein Eintrag im Ordner cache vorhanden ist?
Bin ich zu blöd hier was zu programmerieren oder sind hier Erweiterungen zu erstellen einfach zu kompliziert gelöst?
Hier mal mein Quellcode:
Datenzusammenstellung:
Und hier wird er im Template ausgegeben:
Vielleicht kannst du mir sagen, woran es liegt.
Danke schon mal.
Ciao bolzi
Gerade hab ich diese Änderung ausprobiert, aber es zeigt mir nur die Namen in der ersten Spalte an, nicht die anderen
Begriffe.
Ebenfalls hab ich ein Problem, dass es für nicht ersichtlich ist, ob Änderungen erkannt wurden? Da ich die Datenermittlung mehrmals
geändert habe, aber keine Änderung an der Ausgabe stattgefunden habe.
Auch ist mir aufgefallen, dass jetzt für diese Seite, kein Eintrag im Ordner cache vorhanden ist?
Bin ich zu blöd hier was zu programmerieren oder sind hier Erweiterungen zu erstellen einfach zu kompliziert gelöst?
Hier mal mein Quellcode:
Datenzusammenstellung:
Code: Alles auswählen
$some_line2 = array(
array(
'NAME' => 'Hansi Glück',
'GAMERS' => array(
array(
'NAME' => 'Spiel1'
),
array(
'NAME' => 'Spiel2'
),
array(
'NAME' => 'Spiel3'
),
array(
'NAME' => 'Spiel4'
),
array(
'NAME' => 'Spiel5'
),
),
),
array(
'NAME' => 'Hansi Franz',
'GAMERS' => array(
array(
'NAME' => 'Spiel1'
),
array(
'NAME' => 'Spiel2'
),
array(
'NAME' => 'Spiel3'
),
array(
'NAME' => 'Spiel4'
),
array(
'NAME' => 'Spiel5'
),
),
),
array(
'NAME' => 'Hansi Pech',
'GAMERS' => array(
array(
'NAME' => 'Spiel1'
),
array(
'NAME' => 'Spiel2'
),
array(
'NAME' => 'Spiel3'
),
array(
'NAME' => 'Spiel4'
),
array(
'NAME' => 'Spiel5'
),
),
),
);
$some_line3 = array(
array(
'GNAME' => 'Spiel1'
),
array(
'GNAME' => 'Spiel2'
),
array(
'GNAME' => 'Spiel3'
),
array(
'GNAME' => 'Spiel4'
),
array(
'GNAME' => 'Spiel5'
),
);
foreach ($some_line2 as $row_line2)
{
$template->assign_block_vars('block_gamers',
array (
'NAME' => $row_line2['NAME'],
));
foreach ($some_line3 as $row_line3)
{
$template->assign_block_vars('block_gamers.games',
array (
'GNAME' => $row_line3['GNAME'],
));
}
}
Code: Alles auswählen
<!-- BEGIN block_gamers -->
<tr>
<td>{block_gamers.NAME}</td>
<!-- BEGIN games -->
<td>{block_gamers.games.GNAME}</td>
<!-- END games -->
</tr>
<!-- END block_gamers -->
Danke schon mal.
Ciao bolzi