Tomy: Smarty Datenbank

Hi
es hört sich jetzt vill etwas blöd an aber ich bekomme das einfach nicht gelöst.

Ich brauche eine ganz nmormale Datenbank Abfrage mit entsprechender Ausgabe ALLERDINGS MIT SMARTY:

Also in der .php muss ja das ganze Select * From usw stehen.
Dann brauche ich noch ne Schleife die das ganze aus der Datenbank holt.

Zum Schluss habe ich ja dann meine Smarty Variable:
$smarty->assign('fu', $fu);

und in der .tpl Datei steht dann nur noch {$fu} und schon wird alles ausgegeben.

Ich bekomme das aber einfach nicht gelöst hänge schon seit 4 Stunden davor. Wäre total super wenn einer ein kurzes Beispiel nennen könnte.

Vielen Dank

  1. Hi Tomy,

    das geht ungefahr so: (ungetestet - aus dem Gedächtnis geschrieben):

    $sql = "SELECT * FROM DB";
    $result = mysql_query($sql, $handler) or die(mysql_error);

    while ($row = mysql_fetch_assoc($result)) {
    $daten[] = $row;
    }

    $smarty->assign('daten', $daten);

    danach im Template mit section auslesen. Such doch mal im Smarty Forum.

    Gruß,
    Gerd

    1. Damit kann man schon mal was anfangen.
      2 Fragen hätte ich noch

      while ($row = mysql_fetch_assoc($result)) {
      $daten[] = $row;
      }

      Wo kann ich denn da dann die Zeilen festlegen die ich ausgeben will
      2. Was sind sections?? :O) Sagt mir jetzt nichts.

      1. Hi,

        Wo kann ich denn da dann die Zeilen festlegen die ich ausgeben will

        in Deinem Template, und/oder im SQL-Statement.

        1. Was sind sections?? :O) Sagt mir jetzt nichts.

        Für Dinge, die Dir nichts sagen, gibt es die Dokumentation. Schaue dort *erst* nach, *bevor* Du in einem Forum nachfragst. Ein Forum ist nicht dazu da, Dir Dinge vorzulesen, die Du auch selbst recherchieren kannst.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
      2. Damit kann man schon mal was anfangen.
        2 Fragen hätte ich noch

        while ($row = mysql_fetch_assoc($result)) {
        $daten[] = $row;
        }

        Wo kann ich denn da dann die Zeilen festlegen die ich ausgeben will

        brauchst Du nicht, lass Dir mal das Array daten ausgeben mit print_r(¢Daten), dann siehst du's schon.
        Oder sonst ganz normal mit
        $id = row['id'];
        etc...

        1. Was sind sections?? :O) Sagt mir jetzt nichts.

        Das ist eine Art "Smarty-Schleife". http://smarty.php.net/manual/en/language.function.section.php

        Schoenes Wochenende, ich bin jetzt weg,
        Gerd

        1. Hi,

          Wo kann ich denn da dann die Zeilen festlegen die ich ausgeben will
          $id = row['id'];

          das sind Spalten, nicht Zeilen. Die Spalten werden im SQL-Select angegeben.

          Cheatah

          --
          X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
          X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
          X-Will-Answer-Email: No
          X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    Ich brauche eine ganz nmormale Datenbank Abfrage mit entsprechender Ausgabe ALLERDINGS MIT SMARTY:

    wenn Du http://smarty.php.net/manual/de/api.register.function.php sinnvoll verwendest, kannst Du anschließend z.B. mit

    {sqlget var=fu sql="SELECT foo, bar FROM qaz"}

    Dein $fu mit dem Ergebnis des Selects füllen und per {foreach} u.ä. weiter verwenden.

    Also in der .php muss ja das ganze Select * From usw stehen.

    Nö. Darf es aber, wenn Du es aus dem Template raus halten möchtest. Ist für die Kapselung sicher nicht verkehrt.

    Dann brauche ich noch ne Schleife die das ganze aus der Datenbank holt.

    Die kann in einer Objektmethode oder Funktion stehen und ein Array zurück liefern.

    und in der .tpl Datei steht dann nur noch {$fu}

    Oder {foreach from=$fo}.

    und schon wird alles ausgegeben.

    Die Ausgabe sollte nicht in der Variable stehen. Dazu ist schließlich das Template da.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes