ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
416
416
EMPFEHLEN
-
Abend / Moin Leute und zwar bin ich gerade dabei ein Menü ins Template Smarty zu Übertragen
leider komme ich nicht weiter
der Orginal Code sieht so aus
PHP-Code:$GetCat = mysql_query("SELECT * FROM main_category ORDER BY id");
while($Gc = mysql_fetch_array($GetCat)) {
$id = $Gc['id'];
$title = $Gc['title'];
echo "<tr><td class=\"menutitel\"><center><b>";
if(SEO == 1) { echo ''.$title.''; }
else
{ echo ''.$title.''; }
echo "</b></center></td></tr>";
$GetSCat = mysql_query("SELECT * FROM category WHERE main_category='".$id."' ORDER BY id");
while($GSc = mysql_fetch_array($GetSCat)) {
$Sid = $GSc['id'];
$remove = array("/", ".", "@", "+", "-", "_", "<", ">", "?");
$Stitle = str_replace($remove, '', $GSc['title']);
if(SEO == 1) { echo '<tr><td class="menu"><a href="'.URL.'c/'.$Stitle.'/'.$Sid.'">'.$Stitle.'</a></td></tr>'; }
else
{ echo '<tr><td class="menu"><a href="'.URL.'category.php?id='.$Sid.'">'.$Stitle.'</a></td></tr>'; }
}
}
und gibt das aus sehe Bild das Menü
http://img233.imageshack.us/img233/166/47058996yc5.png
nun habe ich das so gemacht
da ich alles neu schreibe in Class nicht irrtieren lassen von $db-> und $this->
Ausschnitt der tpl Datei sieht so ausPHP-Code:
$this->title = $conf->seitenname;
$this->sql = "SELECT * FROM main_category ORDER BY id ";
$result = $db->query($this->sql);
$this->_array1 = array();
while ($menucat = $db->fetch_array($result))
{
$id = $menucat['id'];
$this->_array1[] = $menucat;
$this->sql1 = "SELECT * FROM category WHERE main_category = $id ORDER BY id";
$result1 = $db->query($this->sql1);
$this->_array = array();
while ($menulist = $db->fetch_array($result1))
{
$this->_array[] = $menulist;
}
}
$temp->assign(array(
'L_TITLE' => $this->title,
'L_ARRAY' => $this->_array,
'L_ARRAY1' => $this->_array1
));
aber er gibt nur das aus sehe Bild das MenüPHP-Code:{foreach item="menucat" from=$L_ARRAY1}
<tr>
<td class="menutitel"><center><b>{$menucat.title}</b></center>
</td>
</tr>
{foreach item="menulist" from=$L_ARRAY}
<tr>
<td class="menu"><a href="category.php?id={$menulist.id}">{$menulist.title}</a>
</td>
</tr>
{/foreach}
{/foreach}
http://img171.imageshack.us/img171/358/52949478zl6.png
was ist mein fehler habe schon mehre Varianten versucht ?
-
29.10.08 00:30 #2
Hi!
Verzeih, wenn es Blödsinn ist, aber so wie ich es sehe, überschreibst Du das "innere Array" ($this->_array) doch jeweils bei einer neuen main_category...?
-> Du könntest die Unterkategorien jeweils als Arrays eines Arrays sammeln und so Smarty übergeben ...?
Liebe Grüße,
Mark.... bitte keine C4D-Fragen per PN ...
+++ OUT NOW for CINEMA4D: Al'em - Free Align Plugin + Shaderpack Vol 1 - Free Shaders + Roll-It v1.0 - Free Roll Plugin + Egg-Objekt - Free Egg Primitive +++
eggtion.net
-
hmmm verstehe jetzt nicht ganz wie du dass meinst kannste mir mal ein beispiel zeigen ?
wenn ich dass jetzt so mache
kommt nun das bei rausPHP-Code:$this->sql = "SELECT * FROM main_category ORDER BY id ";
$result = $db->query($this->sql);
$this->_array1 = array();
$this->_array = array();
while ($menucat = $db->fetch_array($result))
{
$id = $menucat['id'];
$this->_array1[] = $menucat;
$this->sql1 = "SELECT * FROM category WHERE main_category = $id ORDER BY id";
$result1 = $db->query($this->sql1);
while ($menulist = $db->fetch_array($result1))
{
$this->_array[] = $menulist;
}
}
$temp->assign(array(
'L_TITLE' => $this->title,
'L_ARRAY' => $this->_array,
'L_ARRAY1' => $this->_array1
));
http://img508.imageshack.us/img508/9823/43206253bs0.png
er ordnet also die untercategorie nicht der categorie zu zum beispiel ->
Liebe ist die Categorie und die untercategorie wären den
Liebeskummer, Gefühle, Herzen und Hab Dich Lieb
mfg luni22
EDIT: hat sich erledigt hab mir ein verschachteltes Array erzeugt denn hat es geklapptGeändert von luni22 (29.10.08 um 02:18 Uhr)
-
29.10.08 08:26 #4
- Registriert seit
- Aug 2005
- Beiträge
- 436
Als grobes Beispiel wie ich das immer gemacht habe:
In der Template Datei:PHP-Code:$query = "SELECT ...menu...";
$result = $db->query($query);
$menu = array();
foreach($result as $row) {
$submenu=array();
//Hier dann Query wegen Submenu usw.
foreach($result_sub as $row_sub) {
array_push($submenu,array("link"=>$row_sub['link'],"name"=>$row_sub['name']));
}
array_push($menu,array("link"=>$row['link'],"name"=>$row['name'],"submenu"=>$submenu));
}
$tpl->assign("menu",$menu);
Code :1 2 3 4 5 6
<table>[INDENT]{foreach item="menuitem" from=$menu} <tr>[INDENT]<th>{$menuitem.name}</th>[/INDENT]</tr> {foreach item="submenu" from=$menu.submenu} <tr>[INDENT]<td><a href="{$submenu.link}">{$submenu.name}</a>[/INDENT]</tr> {/foreach} {/foreach}[/INDENT]</table>
Ich hoffe das ganze hilft dir ein wenig weiter
-
Ja danke hat sich schon erledigt hab mir ein verschachteltes Array erzeugt denn hat es geklappt.
Aber trotzdem nochmal danke für die hilfe
Ähnliche Themen
-
Smarty und schleifen?
Von lordfritte im Forum PHPAntworten: 1Letzter Beitrag: 23.10.07, 23:48 -
Frage zu parseInt und Schleifen
Von Katzehuhn im Forum JavaAntworten: 2Letzter Beitrag: 26.09.06, 19:39 -
Frage zu Mysql und schleifen.
Von MaxMara im Forum PHPAntworten: 1Letzter Beitrag: 20.02.06, 11:46 -
Smarty und While Schleifen (SQL)
Von BlueZone im Forum PHPAntworten: 0Letzter Beitrag: 31.05.05, 20:01 -
Frage zu: Geschachtelte Schleifen !
Von molotroc im Forum C/C++Antworten: 2Letzter Beitrag: 12.04.05, 20:46





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren