嘿我想显示一些html / css,具体取决于数据库中基本上有多少行。有没有办法在没有回声的情况下做到这一点?因为当我不得不使用很多''时,我迷失了。这是代码示例
<?php foreach ($result as $row) {
}?>
<div id="abox">
<div class="abox-top">
Order x
</div>
<div class="abox-panel">
<p>lorem ipsum</p>
</div>
<br>
<div class="abox-top">
lorem</div>
<div class="abox-panel">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut ac convallis diam, vitae rhoncus enim. Proin eu turpis at ligula posuere condimentum nec eu massa. Donec porta tellus ante, non semper risus sagittis at. Pellentesque sollicitudin sodales fringilla. Ut efficitur urna eget arcu luctus lobortis. Proin ut tellus non lacus dapibus vehicula non sit amet ante. Ut nibh justo, posuere sit amet fringilla eget, aliquam mattis urna.</p>
</div>
答案 0 :(得分:0)
没有什么复杂的事情:
简单/难看:
<?php while($row = fetch()) { ?>
<div>
<?php echo $row['somefield'] ?>
</div>
<? } ?>
替代:
<?php
while ($row = fetch()) {
echo <<<EOL
<div>
{$row['somefield']}
</div>
EOL;
}
然后当然有任意数量的模板系统,声称将逻辑与显示分开,然后将显示器与其OWN逻辑系统一起丢弃。
答案 1 :(得分:0)
你可以在PHP 5.4.0出现之前简单地使用php 5.3中引入的.on('change')
短开标记你必须启用short_open_tag ini但是在5.4.0之后
这是一个例子
<?=
希望它有所帮助。
答案 2 :(得分:0)
以Smarty为例,它是非常好的模板库。模板引擎的作用是将变量提取到预定义的模板。
你的代码用简单的php:
<?php
echo 'My name is '. $name. ', that's why I'm awesome <br>';
foreach ($data as $value) {
echo $value['name'].' is awesome to!';
}
?>
聪明的代码:
My name is {$name}, that's why I'm awesome <br>
{foreach $data as $value}
{$value} is awesome to!
{/foreach}
模板引擎专业人士:
模板引擎缺点:
答案 3 :(得分:0)
当我不想使用模板引擎(我喜欢Twig,btw)时,我会这样做:
1)使用html代码和一些自定义标签写一个单独的文件,其中应显示数据:
file&#34; row_template.html&#34;:
<div class="abox-top">{{ TOP }}</div>
<div class="abox-panel"><p>{{ PANEL }}</p></div>
2)然后,读取该文件并在循环中进行替换:
$row_template = file_get_contents('row_template.html');
foreach ($result as $row) {
$replaces = array(
'{{ TOP }}' => $row['top'],
'{{ PANEL }}' => $row['panel']
);
print str_replace(
array_keys($replaces),
array_values($replaces),
$row_template
);
}
此外,您可以更改&#34; row_template.html&#34;的内容。没有触及php代码。
清洁,美观!