ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
338
338
EMPFEHLEN
-
Hallo Leute,
habe ein Problem mit Smarty.
Und zwar will ich ein Template untereinander, so oft ausgeben wie Einträge in der DB vorhanden sind.
Leider wird immer nur der lez´tzte EIntrag angezeigt.
Weis zuuuufällig jemand wie sich das umsetzen lässt?
Gruss und DankePHP-Code:$containerQuery = function_dbQuery('select * from container');
while($containerRow = function_dbFetchArray($containerQuery)){
$smarty->assign('container_header', $containerRow['container_name']);
}
-
11.07.07 11:50 #2
Du kannst auch einfach das komplette Ergebnis des Querys an das Template übergeben und dann mittels foerach die Werte auslesen.
Bsp:
Logik Datei:
Im TemplatePHP-Code:$sql = 'SELECT contact_id, name, nick FROM contacts ORDER BY contact';
$smarty->assign('kontakte', $db->getAssoc($sql));
Aus der Smarty Dokumentation.HTML-Code:{foreach key=cid item=con from=$kontakte} <a href="kontact.php?contact_id={$cid}">{$con.name} - {$con.nick}</a><br /> {/foreach}Bitte alle erledigten Themen abschliessen.
-
Danke DIr.
Kannst DU mir nochmal kurz helfen bitte?
Denn ich bekomme entweder gar nix oder nur der erste Inhalt bzw. alle Werte vom ersten Eintrag hintereinander ausgegeben.
Wäre nett wenn Du mal über meinen COde schauen könntest, wo evtl. der Fehler liegt.
PHP-Code:$containerQuery = function_dbQuery('select * from container');
$smarty->assign('container_header', function_dbFetchArray($containerQuery));
Ausgabe:PHP-Code:{foreach key=container_id item=container_name from=$container_header}
{$container_name}
{/foreach}
1 Kategorien links testinhalt 1 1
Die DB FUnktionen sind im Prinzip dasselbe wie Du oben im Beispiel geschrieben hast.
Danke Dir.Geändert von xtratz (11.07.07 um 12:24 Uhr)
-
11.07.07 12:24 #4
Du mußt dabei deine Spaltennamen angeben. In der Foreach-Schleife gibst du ja ein item an. Im Beispiel
Wenn du nun z.B. eine Spalte mit dem Namen "preis" hast mußt du diesen so ausgeben:Code :1
item=con
Für die Spalte "bezeichnungCode :1 2 3
[COLOR=#000000][COLOR=#007700]{foreach [/COLOR][COLOR=#0000BB]key[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#0000BB]container_id item[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#0000BB]con from[/COLOR][COLOR=#007700]=[/COLOR][COLOR=#0000BB]$container_header[/COLOR][COLOR=#007700]} [/COLOR][/COLOR] {$con.preis} {/foreach}
etc. Das heißt du mußt dein en Spaltennamen verbunden mit dem . an dein Item anhängen.Code :1
{$con.bezeichnung}
Bei der Key-Eigenschaft wird dein Primärschlüssel angegeben (z.B. key=artnr)Bitte alle erledigten Themen abschliessen.
-
11.07.07 12:24 #5
- Registriert seit
- Feb 2007
- Beiträge
- 74
Die Foreach-Schleife von Smarty kannst du mit der von PHP vergleichen. Du sagst du holst dir das Array von $container_header (from=$container_header) und du sagst du willst nachher über con auf das Array zugreifen können (item=com).PHP-Code:{foreach key=container_id item=con from=$container_header}
Für den Namen: {$con.name}<br />
Für den Nick: {$con.nick}
{/foreach}
@edit Hmm da war einer schneller
-
Ok danke euch.
Hab das aber schon probiert weil ich mir das auch dachte.
Jedoch fast das selbe Ergebnis mit dem Unterschied das mir nun alle Werte (Container_id, Container_name, Container_position usw.) des ersten Eintrages der Tabelle, hintereinander ausgegeben werden und immer nur der erste Buchstabe.
Das ist komisch.
Ne Idee?
-
11.07.07 12:39 #7
Die Daten in deinem Array sind korrekt? Hast du das mla überprüft? Kannst du mal bitte deinen Quelltext posten?
Bitte alle erledigten Themen abschliessen.
-
11.07.07 12:42 #8
- Registriert seit
- Feb 2007
- Beiträge
- 74
Ich habe meine Ausgaben immer noch zusätzlich in ein weiteres Array gespeichert. Also zum Beispiel so...
Damit hatte ich eigentlich noch nie Probleme.PHP-Code:while($containerRow = function_dbFetchArray($containerQuery)){
$container[] = $containerRow;
}
$smarty->assign("container_header", $container);
-
Also ich kann machen was ich will.
Auch das Beispiel von Rambomaster klappt, aaaaber immer nur der erste Buchstabe wird angezeigt.
Hier mal der Code:
PHP-Code:$containerQuery = function_dbQuery('select * from container');
$smarty->assign('container_header', function_dbFetchArray($containerQuery));
// $smarty->assign('container_header', $containerRow['container_name']);
$links = $smarty->fetch('container/test.html');
$smarty->assign('links', $links);
Die Werte aus dem Array sind korrekt.HTML-Code:{foreach key=container_id item=con from=$container_header} {$con.container_name}<br> {/foreach}
Wenn ich Sie mit einer normalen Whileschleife ausgeben lasse. Das klappt aber nicht mehr sobald ich diese in eine Smarty Variable packe.
-
Hmm Ok!
Habs hinbekommen mit letzterem Versuch.
Hatte nur die Variable im Template nicht mit geändert ;-(
Schussel!
Ich Danke euch für die Hilfe!
Gruss
Ähnliche Themen
-
CKFinder wer kennt ihn und kennt sich damit aus?
Von Lenox im Forum Coders TalkAntworten: 0Letzter Beitrag: 29.12.08, 00:11 -
Smarty Problem! kennt sich einer aus?
Von xtratz im Forum PHPAntworten: 5Letzter Beitrag: 06.07.07, 16:17 -
Wer kennt sich gut mit weblication aus?
Von zwutz im Forum Content Management Systeme (CMS)Antworten: 0Letzter Beitrag: 21.10.05, 14:02 -
Kennt sich hier jemand mit JGo aus oder kennt ein entsprechendes Forum?
Von Loki2 im Forum JavaAntworten: 0Letzter Beitrag: 13.10.05, 08:01 -
Frage zu SSI - wer kennt sich aus?
Von firemike im Forum Coders TalkAntworten: 0Letzter Beitrag: 25.03.04, 14:50





Zitieren
Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen