Avatar billede testwatest Nybegynder
02. september 2007 - 20:57 Der er 7 kommentarer og
1 løsning

Nyhedssystem med templatesystem

Hvis jeg bruger mit templatesystem således:

<?php
include("config.php");

$tpl = new Tpl("design.htm");
$tpl->set("indhold", "nyheder.htm");
echo $tpl->udskriv();
?>

Hvordan kan jeg så indsætte mine nyheder ved at bruge templatesystemet?

Noget alá:

<?php
include("config.php");

$tpl = new Tpl("design.htm");
$tpl->set("indhold", "nyheder.htm");

for($i=0; $i<10; $i++) {
    $tpl->set("dato", "2 september");
    $tpl->set("tekst", "i dag er det søndag");
}

echo $tpl->udskriv();
?>

Så min for-løkke er altså mit kald til databasen der så i alt udskriver 10 nyheder. Så skal den jo så sætte mit template til hver enkel nyhed ind 10 gange, og så give hver nyhed dens pågældende indhold(dato, tekst, forfatter).

Hvordan kan dette gøres smart? Håber det er forståligt :D
Avatar billede majbom Novice
03. september 2007 - 19:42 #1
hvad med at lave en mysql-query der henter de 10 seneste nyheder, og printe det ud i en while-løkke hvor den så laver den template?
Avatar billede testwatest Nybegynder
08. september 2007 - 14:19 #2
og hvordan ville du stille det op? Den skal jo bruge det templatesystem der er designet til hver eneste nyhed. Den template-fil skal den jo så hente de 10 gange.
Avatar billede testwatest Nybegynder
23. september 2007 - 16:07 #3
:/
Avatar billede majbom Novice
23. september 2007 - 16:15 #4
$res = mysql_query("SELECT * FROM nyheder ORDER BY date DESC LIMIT 10") or die(mysql_error());
while($nyhed = mysql_fetch_array($res)){
  $tpl->set("dato", $nyhed['dato']);
  $tpl->set("tekst", $nyhed['tekst']);
}
echo $tpl->udskriv();

?
Avatar billede testwatest Nybegynder
25. september 2007 - 19:58 #5
splazz - jamen jeg skal jo indsætte selve skabelonen til den enkelte nyhed ved hver række.
Avatar billede majbom Novice
26. september 2007 - 06:56 #6
while-løkken kører de 10 igennem du har hentet ud fra databasen og indsætter skabelonen til hver enkelt nyhed...
Avatar billede palito Nybegynder
08. oktober 2007 - 21:12 #7
splazz - jaja, men den overskriver jo selvfølgelig pladsholderen hver gang. jeg skal jo lave så den indsætter skabelonen hver gang der er en nyhed.

jeg lukker og forklarer det bedre i nyt spørgsmål.
Avatar billede majbom Novice
08. oktober 2007 - 21:25 #8
er det så ikke bare at sætte

$tpl = new Tpl("design.htm");
$tpl->set("indhold", "nyheder.htm");
...
echo $tpl->udskriv();

ind i løkken osse?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester