使用PHP显示HTML内容的最佳方法是什么?

时间:2016-01-05 08:43:22

标签: javascript php html css

我有一个如下所示的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,但如果这是唯一干净的方法,有人可以指点我这样做吗?

3 个答案:

答案 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)

使用PHP模板引擎

http://www.smarty.net/

  

Smarty快速而精简,内存占用少。

http://twig.sensiolabs.org/ (看起来非常像Dwoo)

  

Twig是PHP的现代模板引擎(快速,安全,灵活)

http://dwoo.org/ (受Smarty启发)

  

Dwoo是一个模板系统,用于使网站创建更简单,更有条理。

http://platesphp.com/ (受Twig启发)

  

Plates是一个本机PHP模板系统,它快速,易于使用且易于扩展。

http://phptal.org/

  

PHPTAL是ZPT工作的PHP实现。简而言之,PHPTAL是PHP的XML / XHTML模板库。