Avatar billede buffy Nybegynder
08. april 2001 - 01:21 Der er 7 kommentarer og
1 løsning

MySQL og Fast Templates

Jeg sidder lige og leger, men jeg har et problem.
Jeg skal have lavet en menu som består af en række knapper, hvor navnene og
linksene på
knapperne hentes ud fra en database.

<!-- BEGIN DYNAMIC BLOCK: bundmenu_dyn -->
      <input type=button class=\"button\" style=\"CURSOR: hand\" value=\"{navn}\"
            onClick=\"location.href=\'{link}\'\">
<!-- END DYNAMIC BLOCK: bundmenu_dyn -->

function ShowBundMenu() {
global $tpl;

  $tpl->define(array (\"table\" => \"bundmenu.html\"));
  $tpl->define_dynamic(\"bundmenu_dyn\", \"table\");

  $query = mysql_query(\"SELECT * FROM BUNDMENU ORDER BY ID\");
  while($r = mysql_fetch_array($query)) {
    $tpl->assign(\"navn\", $r[\"Navn\"]);
    $tpl->assign(\"link\", $r[\"Link\"]);
    $tpl->parse(\"BOTTOM\", \".bundmenu_dyn\");}
}

Den laver kun Én knap, med den sidste værdi i db\'en. Hvordan får jeg de
andre ud også?
Avatar billede spiri Nybegynder
08. april 2001 - 12:54 #1
Nu ved jeg ikke lige så meget om fast templates, men når man bruger PHPlib templates skal linjen:
$tpl->parse(\"BOTTOM\", \".bundmenu_dyn\");}

se sådan ud:
$tpl->parse(\"BOTTOM\", \".bundmenu_dyn\",true);}

jeg ved ikke om det virker men prøv.
Avatar billede uller Nybegynder
09. april 2001 - 09:24 #2
Der skal ikke true på..

Men jeg kender og bruger ikke \"DYNAMIC BLOCK\'s\" jeg looper bare en almindelig template igennem,

På samme måde som du gør i dit eksempel..
Prøv det og lad os hører resultatet.

btw: \"DYNAMIC BLOCK\'s\" er langsommere end alm templates...
Avatar billede buffy Nybegynder
09. april 2001 - 09:30 #3
kunne du give et eksempel?
Avatar billede uller Nybegynder
09. april 2001 - 09:37 #4
det burde gøre det... :o)
ps: det er en god ide at bruge store bogstaver til template variabel navnene...
-----------------------------------------------

<!-- start bundmenu_dyn -->
      <input type=button class=\"button\" style=\"CURSOR: hand\" value=\"{NAVN}\"            onClick=\"location.href=\'{LINK}\'\">
<!-- end bundmenu_dyn -->

function ShowBundMenu() {
global $tpl;

  $tpl->define(array (\"table\" => \"bundmenu.html\",\"bundmenu_dyn\" => \"bundmenu_dyn.html\"));

  $query = mysql_query(\"SELECT * FROM BUNDMENU ORDER BY ID\");
  while($r = mysql_fetch_array($query)) {
    $tpl->assign(\"NAVN\", $r[\"Navn\"]);
    $tpl->assign(\"LINK\", $r[\"Link\"]);
    $tpl->parse(\"BOTTOM\", \".bundmenu_dyn\");}
}
Avatar billede buffy Nybegynder
09. april 2001 - 09:54 #5
hmm bundmenu_dyn.html ???????????

hvad med \"table\" skal den egentlig ikke parses?
Avatar billede uller Nybegynder
09. april 2001 - 10:00 #6
1: du kunne også kalde den \"bundmenu_dyn.tpl\" eller hvad du nu føler for...

2: jo, ind i din hoved template som jeg ikke aner hvad hedder:

$tpl->parse(\"XXXXXX\", \"table\");
Avatar billede buffy Nybegynder
09. april 2001 - 10:09 #7
Hurra, nu virker det sgu..

Mange tak, nu har jeg brugt jeg ved ikke hvor mange timer, du har reddet min påske
Avatar billede uller Nybegynder
09. april 2001 - 10:18 #8
:o)

du burde også kigge på en db-klasse sitedet for at skrive det hvergang du skal bruge en mysql_ funkrion.
her er et link:
http://www.neoworks.f2s.com/db/
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