Avatar billede solari Nybegynder
06. oktober 2004 - 13:06 Der er 3 kommentarer og
1 løsning

Opdeling af php og html på en god måde

Hej Kære Expert medlemmer

Jeg har tit en table hvor man vil vise nogen bruger (eller noget andet fra en database). Jeg vil lav koden sådan her

<?php
  function Indsat()
  {
      foreach($bruger as $bruger_tmp)
      {
        echo "<tr>";
        echo "<td>" . $brugernavn_tmp[fornavn] . "</td>";
        echo "<td>" . $brugernavn_tmp[efternavn] . "</td>";
        echo "</tr>";
      }
  }
?>

<html>
  <body>
      <table>
        <?php Indsat(); ?>
      </table>
  </body>
  </html>

Det virker også fint men man mister overbliket over html strukturen så jeg vil hør om der var en metode i php hvor man kunne gør noget der ligner det her:

<?php
  function Indsat($html_content)
  {
      foreach($bruger as $bruger_tmp)
      {
        $html_content = str_replace("--bruger_fornavn--", "$bruger_tmp[fornavn]", $html_content);
        $html_content = str_replace("--bruger_efternavn--", "$bruger_tmp[efternavn]", $html_content);

        echo $html_content;   
      }
  }
?>

<html>
  <body>
      <table>
        <?php $html_content start; ?> 
        <tr>
            <td>
              --bruger_fornavn--
            </td>
            <td>
              --bruger_efternavn--
            </td>
        </tr>
        <?php $html_content slut; ?>
        <?php Indsat($html_content); ?>
      </table>
  </body>
</html>

alså htmlen mellem start og slut bliver ikke vidst men gemt i $html_content. Det der er vigtig for mig er at man ikke for html i functionen og at htmlen strukturen bedre kan ses.

Håber at nogen har en god løsning  på
1. INGEN HTML i FUNCTIONERNE
2. BEDRE OVERBLIK AF HTMLEN KODEN

Jeg køre selv php4 så hvis løsningen kun virker i php5 så må i meget gerne lige notere det.

På forhånd mange tak
Avatar billede swaxi Nybegynder
06. oktober 2004 - 16:25 #1
du kan bruge templates. der findes et hav af implementeringer - en af de mere populære er smarty (http://smarty.php.net/), men jeg kan anbefale dig btemplate (http://www.massassi.com/bTemplate/) der er noget simplere at bruge.
Avatar billede solari Nybegynder
07. oktober 2004 - 13:54 #2
Har sidet og læst hele natten.
Det er engentligt ret underligt jeg ikke har kastet mig ud i Templates før men det er lige præcis det jeg ledte efter. Har hørt om det mange gange. Har rodet med det for mange år siden i Dreamweaver og blive ikke lige forelsket i det. Men jeg slår lige mig selv lidt i hovedet for det gør da en del ting nemmere specialt da jeg roder med html og php ret meget.
Rigtig mange tak Swaxi for svaret og for lige at vække mig op fra de døde.
ligger du et svar så for du pointe.
Avatar billede swaxi Nybegynder
11. oktober 2004 - 00:05 #3
velbekomme
når du har leget lidt med det, og syntes du har fattet idéen, så prøv at kigge på phpsavant. det er en slags omvendt-tænkning ift. templates, som kun giver mening, hvis man har fattet idéen med templates i første omgang.
http://phpsavant.com/yawiki/
Avatar billede swaxi Nybegynder
11. oktober 2004 - 00:05 #4
svar
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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