Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 01.02.2005, 10:53
Benutzerbild von MrNase
Mitglied
 
Registriert seit: 06.2003
Ort: /
Beiträge: 2.639

Smarty: Problemsammelthread


Hallo,

Ich kämpfe mich grad durch Smarty und bin auf ein Problem gestossen:

In meiner php-Datei steht:
Code:
    $result = $db->query("SELECT * FROM user");
    $smarty->assign("data", $row = $db->fetch($result));
im Templates steht:
Code:
    <ul>
    {foreach from=$data item=user}
    	<li>{$user}</li>
    {/foreach}
    </ul>
Dies gibt beim Aufruf aber alle Spalten der Tabelle user weiter.. Ich will aber nur den Benutzernamen (also normalerweise $row['username']) haben.

Ich hab es schon mit
Code:
     <ul>
     {foreach from=$data item=user}
     	<li>{$user['username']}</li>
     {/foreach}
     </ul>
probiert aber ganz offensichtlich geht es nicht


Eigentlich komme ich nur zum erwünschten Ergebnis wenn ich die Query ändere und aus dem * ein username mache, aber das ist nicht Sinn der Sache.


Wenn ich nun im Template folgendes schreibe:
Code:
  <ul>
  {foreach from=$data item=user}
  	<li>{$user.username}</li>
  {/foreach}
  </ul>
schaut die Ausgabe wie folgt aus:
Code:
  <ul>
  	<li>1</li>
         <li>t</li>
 	<li>t</li>
 	<li>t</li>
 </ul>

  #2  
Alt 01.02.2005, 16:56
Benutzerbild von exe
exe exe ist offline
titellos
 
Registriert seit: 07.2003
Ort: München
Beiträge: 888
Wenn ich dich richtig verstanden habe, willst du eine Liste aller Benutzer(namen) ausgeben. Dabei musst du erstmal in deinem PHP-Script alle Benutzernamen auslesen, in ein Array schreiben und das Array an Smarty übergeben. Dort kannst du es dann mit foreach oder section durchgehen und ausgeben.

PHP-Code:
$result $db->query("SELECT username FROM user");
$users  = array();

while(
$row $db->fetch($result))
{
    
$users[] = $row['username'];
}

$smarty->assign('data'$users); 
Im Template dann foreach oder section:

Code:
<ul>
  {foreach from="$data" item="user"}
  <li>{$user}</li>
  {/foreach}
</ul>
bzw.

Code:
<ul>
  {section name="idx" loop="$data"}
  <li>{$data[idx]}</li>
  {/section}
</ul>
Wenn ich jetzt keinen Fehler gemacht habe sollte das so funktionieren.

__________________
Johannes Klose
Calitrix Wiki - Wiki auf Basis von PHP und MySQL
Antwort


Stichworte
-


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.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Smarty für Forensystem? Arno Nühm Web Design und Grafik 10 02.09.2007 20:28
Verschachtelte Schleifen mit Smarty Patrick Gotthardt Programmierung und Datenbanken 0 17.10.2004 13:37
Interesse an einem Board, das auf Smarty setzt?! phil Forensoftware 10 17.07.2004 19:09
Smarty Template Engine Jan Stöver Programmierung und Datenbanken 2 10.05.2004 00:02






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25