我有一个如下所示的php函数,它接受一个包含SQL查询值的数组(在另一个未显示的函数中)。在这种情况下,SQL查询返回一组文件名及其关联的图片名称。
// Take in an array of filters;
// each element is a dictionary of column name
// to the value of that row from SQL query
function displayFilters($filters) {
foreach($filters as $filter){
//output images in img tags, with their appropriate classes
echo " <div class='w3-quarter'>
<div class='w3-card-2'>
<img src='images/".$filter['File_Name']."' style='width:100%'>
<div class='w3-container'>
<h4>".$filter['Filter_Name']."</h4>
</div>
</div>
</div>";
}
}
现在,这样可以正常工作,并可以根据需要正确显示图像。但是,我不得不修改这段代码,更改类,属性和什么不是,如果我需要添加/修改div,我必须进入这个函数来改变一切。有没有比进入echo函数更改它更好的方法呢?如果可能的话,我宁愿不必使用Javascript,但如果这是唯一干净的方法,有人可以指点我这样做吗?
答案 0 :(得分:2)
<?php function displayFilters($filters) {
foreach($filters as $filter){ ?>
//output images in img tags, with their appropriate classes
<div class='w3-quarter'>
<div class='w3-card-2'>
<img src='images/<?=$filter['File_Name']>' style='width:100%'>
<div class='w3-container'>
<h4><?=$filter['Filter_Name']></h4>
</div>
</div>
</div>
<?php
}
} ?>
我这样做,看起来比学习新模板引擎容易
答案 1 :(得分:1)
我已经编写了如何检索查询以及如何在下面的代码中显示。
你可以用这个。您还可以在表<tr>
标记中使用图片标记。
$con=mysqli_connect('localhost','username','password','databasename');
$sql="SELECT `COL 1` , `COL 2` , `COL 3` , `COL 4` , `COL 5` , `COL 12` FROM `TABLE` WHERE 1 ORDER BY `COL 3` ;";
$result=mysqli_query($con,$sql);
<table style="width:100%" >
<tr>
<th>Col1</th>
<th>Clo2</th>
<th>Col3</th>
</tr>
<?
while ($row=mysqli_fetch_row($result))
{
echo "<tr><td>".$row[0]."</td><td>".$row[1]."\t".$row[2]."\t".$row[3]."\t".$row[4]."</td><td>".$row[5]."</td></tr>";
}
?>
</table>
答案 2 :(得分:1)
Smarty快速而精简,内存占用少。
http://twig.sensiolabs.org/ (看起来非常像Dwoo)
Twig是PHP的现代模板引擎(快速,安全,灵活)
http://dwoo.org/ (受Smarty启发)
Dwoo是一个模板系统,用于使网站创建更简单,更有条理。
http://platesphp.com/ (受Twig启发)
Plates是一个本机PHP模板系统,它快速,易于使用且易于扩展。
PHPTAL是ZPT工作的PHP实现。简而言之,PHPTAL是PHP的XML / XHTML模板库。