php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.05.2005, 13:38  
Gast
 
Beiträge: n/a
Standard Template: Verschachteln von foreach

Moin Moin. Ich benutze Smarty für Templates und das zum ersten mal.

Das will ich erreichen:
Ich habe navi.tpl und möchte die Navigation aus einer Datenbank raus erstellen. Dort gibt es die Tabellen navi und subnavi. navi stellt die Überschrift der Navigationsbox dar und subnavi ist dieser Überschrift mit einzelnen Menüpunkten untergeordnet.

Mein Problem:
Ich weiß nicht wie ich dem Template sagen kann, dass er für jede Menübox die Menüpunkte raussucht. Ich habe probleme mit den while Schleifen in der .php Datei, diese richtig an das Template zu geben, so dass das template diese versteht.

Das hätte ich gerne:
Ein Beispiel für die Verschachtelung
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.05.2005, 13:41  
Gast
 
Beiträge: n/a
Standard

navi.tpl
Code:
 {foreach from=$navieintraege item=navi} 
<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#919191">
        <tr>
          <td>
            <table width="100%" border="0" cellspacing="1" cellpadding="3">
              <tr> 
                <td class="thead"> 
            <div align="center">{$navi.titel}</div>
                </td>
              </tr>
				{foreach from=$subnavieintraege item=subnavi}
               <tr bgcolor="#CCCCCC"> 
                <td>{$subnavi.titel}</td>
              </tr>{/foreach}
            </table>
          </td>
        </tr>
      </table>
      

{/foreach}
Würde ich keine templates benutzen sieht die navi.php so aus:
PHP-Code:
<?php
//Includes
include("../inc/database.inc"); //Datenbank Verbindung
include("../inc/config.inc"); //Configuration
include("../inc/global.inc"); //Globale Funktionen
    
$sql_query0_1 MySQL_Query("SELECT * FROM navi ORDER BY orderid") or die("MySQL ERROR (".__LINE__."):".mysql_error());;
    while (
$query0_1 MySQL_Fetch_Array($sql_query0_1)) { 
        
?>
      <table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#919191">
        <tr>
          <td>
            <table width="100%" border="0" cellspacing="1" cellpadding="3">
              <tr> 
                <td class="thead"> 
                  
            <div align="center">[b]<?php echo $query0_1['titel']; ?>[/b]</div>
                </td>
              </tr>
            <?php  
            $naviid 
$query0_1['id']
                
$sql_query0_2 MySQL_Query("SELECT * FROM subnavi WHERE sub_nid = $naviid ORDER BY sub_orderid") or die("MySQL ERROR (".__LINE__."):".mysql_error());;
    while (
$query0_2 MySQL_Fetch_Array($sql_query0_2)) { 
        
?>
              <tr bgcolor="#CCCCCC"> 
                <td>[url="<?php echo $query0_2['sub_link']; ?>"]<?php echo $query0_2['sub_titel']; ?>[/url]</td>
              </tr>
              <?php 
              

              
?>
            </table>
          </td>
        </tr>
      </table>
      

<?php
}
?>
Wie sieht aber die navi.php aus, wenn ich halt templates benutzen? bzw ist die navi.tpl richtig?
 
Alt 12.05.2005, 15:37  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Der Beitrag wurde verschoben, wegen...
... Postings im falschen Forum.

Bemerkung:
Die gestellte Frage entspricht nicht dem Wissensstand eines/einer Fortgeschrittenen.

moved to PHP - Anfänger
__________________
mod = master of disaster
Waq ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
foreach equivalent aber mit Datenmanipulation Matt PHP Tipps 2008 2 26.02.2008 16:47
Lambda-Funktion und array_map/_filter gegen foreach KingCrunch PHP Tipps 2007 5 29.04.2007 10:28
foreach verändert die werte des arrays das durchlaufen wird Crypi PHP Tipps 2007 5 10.01.2007 08:24
foreach mit zwei übergebenen Arrays ? [erledigt] horstenpeter PHP Tipps 2006 1 03.09.2006 16:47
Eckige Klammern in Template nutshell PHP Tipps 2006 9 05.06.2006 19:12
template in template einfuegen tonne PHP Tipps 2005-2 8 10.11.2005 22:24
$_FILES mit foreach() PHP Tipps 2005-2 5 20.10.2005 10:27
Template System oder Lösung gesucht PHP Tipps 2005 14 21.05.2005 22:07
Template verständniss problem; referenz PHP Tipps 2005 17 19.05.2005 06:06
foreach: Übergabe by reference Stümper PHP Tipps 2005 2 15.02.2005 15:35
Php Code als Variable definieren und in Template darstellen PHP Tipps 2004-2 4 31.12.2004 16:22
suche ein bestimmtes template system PHP Tipps 2004-2 2 07.11.2004 19:49
Template Parser PHP-Fortgeschrittene 9 06.10.2004 23:04
[Erledigt] Template Scripting PHP-Fortgeschrittene 2 04.06.2004 18:34
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
foreach verschachteln, smarty foreach verschachtelt, php verschachtelte foreach, foreach verschachteln php, php foreach verschachteln, php foreach verschachtelt, smarty verschachtelte foreach, php foreach schachteln, foreach verschachtelt, smarty foreach verschachteln, foreach schachteln, php template foreach, verschachtelte foreach php, foreach schachteln php, verschachtelte foreach, foreach php verschachtelt, http://www.php.de/php-tipps-2005/22897-template-verschachteln-von-foreach.html, foreach template, smarty foreach schachteln, for each verschachteln

Alle Zeitangaben in WEZ +1. Es ist jetzt 13:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.