---
title: "loop/template beskymmer"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/39516-loop-template-beskymmer"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Jörgen HP"
published: "2002-03-12T20:23:56.000Z"
updated: "2002-03-12T23:05:51.000Z"
replies: 4
views: 219
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/39516-loop-template-beskymmer"
---

# loop/template beskymmer

## #1 — Jörgen HP, 2002-03-12T20:23Z

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
<?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\>

Permalänk: https://www.webforum.nu/p/39516

## #2 — Viking, 2002-03-12T21:47Z

Ä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

Permalänk: https://www.webforum.nu/p/623317

## #3 — SPiN, 2002-03-12T21:48Z

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:

```php
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**

```php
<a href="{LINK}">{LINK_TEXT}</a>
{MENU}
```

**Loopen**

```php
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. :)

Permalänk: https://www.webforum.nu/p/623318

## #4 — SPiN, 2002-03-12T21:50Z

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. :)

Permalänk: https://www.webforum.nu/p/623320

## #5 — Jörgen HP, 2002-03-12T23:05Z

Tackar och bockar!

Efter några små justeringar fungerar det  :D  :bire

Permalänk: https://www.webforum.nu/p/623351

---

Tråden på webben: https://www.webforum.nu/amne/php/39516-loop-template-beskymmer
