Hej, har följande kod (nedan). Vill presentera en meny i en templatefil med hjälp av en templateklass. Det finns 3 st poster som ska loopas ut, vilket också loopas ut om jag provar på vanligt sätt. Men nu vill bara den 1:a posten visa sig.
mvh Jörgen :)
<?php
require ( "klass.php" );
$db_host = "server";
$db_username = "username";
$db_password = "password";
$SQLstmt = mysql_connect("$db_host", "$db_username", "$db_password")
or die ("Ett fel inträffade. Det gick inte att ansluta till servern");
mysql_select_db ("db1")
or die ("Ett fel inträffade. Det gick inte att hitta databasen");
$template = new Template ( "Templatefil.tpl" );
$strSQL = mysql_query("SELECT intArtikelId, strRubrik FROM web_artikel ORDER BY strRubrik");
while ($data = mysql_fetch_array($strSQL)) {
$template->set ( "MENU", $data['strRubrik'], false );
}
$template->show ();
?>
och sedan i templatefilen:
<td>
{MENU}
</td>
VikingMedlem sedan maj 20003 652 inlägg Är inte så hemma på templetates, men borde inte
$template->show ();
Vara inne i whilesatsen? :o
Som det är nu så är det väl bara den post som körs i whilesatsen sist som sparas och skrivs ut? :q
SPiNMedlem sedan mars 20007 896 inlägg Det är inte så konstigt, eftersom att nyckeln {MENU} 'försvinner' efter första gången loopen körs. Gör så här, så borde det funka:
while ($data = mysql_fetch_array($strSQL)) {
$template->set ( "MENU", $data['strRubrik'] [b]. "\n{MENU}\n", false );
}
Men!
Helst av allt borde du skapa en meny-template, som du inkluderar i nyckeln MENU, något sånt här:
Meny.tpl
<a href="{LINK}">{LINK_TEXT}</a>
{MENU}
Loopen
while ($data = mysql_fetch_array($strSQL)) {
$template->set_file ( "MENU", "Meny.tpl" );
$template->set ( "LINK", "http://www.jorgen.hp", false );
$template->set ( "LINK_TEXT", "Gå till Jorgen.hp!", false );
}
$template->un_set ( "MENU" );
Du får då bättre kontroll, plus att du kan göra det mer dynamiskt. Hoppas du hängde med på resonemanget. :)
SPiNMedlem sedan mars 20007 896 inlägg Viking> Nää, då visas ju sidan. :)
En mening med templates är ju att man först lägger allt i en sorts variabel, och sen när man är färdig visar allt. :)
Tackar och bockar!
Efter några små justeringar fungerar det :D :bire