Opdeling af php og html på en god måde
Hej Kære Expert medlemmerJeg 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
