首页 > 解决方案 > 如何正确显示这个 php 块

问题描述

我正在使用 MySQL 数据库中的数据,显示如下:

在此处输入图像描述

我想要一行 3 篇文章。下面的图片是用 HTML 和 CSS 制作的。

这是我的代码:

while($row=mysqli_fetch_array($result))
        {?>

            <div class="container">
                <div class="row padding">
                    <div class="col-md-4 col-xs-12">
                        <div class="card">
                            <img class="card-img-top" src="<?php echo UPLPATH . $row['slika']; ?>">
                                <div class="card-body">
                                    <h6 class="card-title">&laquo; <?php echo $row['naslov']; ?> &raquo;</h4>
                                </div>
                                <p class="ispod"><?php echo $row['datum'];?> </p>

                        </div>

                    </div>
                </div>  
            </div>      



       <?php }?>

标签: phphtmlcss

解决方案


这似乎是您的项目中实现模板引擎的一个好点。外面有一对。我真的很喜欢使用typo3流体,但回到你的问题......对于你现有的代码,你可以结束你的php代码,使用html并回显你需要的php变量。

<?php
// ... some php stuff
?>
<div class="container">
  /* some html stuff * /
  <img class="malaSlika" src="<?php echo UPLPATH . $row['slika']; ?>">
  /* some more html stuff */
  /* <?= is short for <?php echo
  <img class="malaSlika" src="<?= UPLPATH . $row['slika']; ?>">
</div>
<?php
// ... some more php stuff

如前所述,也许模板引擎会对此有所帮助。编辑:要添加 div class="row" 它可能是这样的。

<?php ... ?>

<div class="container">

<?php
$i = 0;
while($row=mysqli_fetch_array($result)) :

if($i % 3 == 0) : ?>
                <div class="row padding">
<?php endif; ?>
                    <div class="col-md-4 col-xs-12">
                        <div class="card">
                            <img class="card-img-top" src="<?php echo UPLPATH . $row['slika']; ?>">
                                <div class="card-body">
                                    <h6 class="card-title">&laquo; <?php echo $row['naslov']; ?> &raquo;</h4>
                                </div>
                                <p class="ispod"><?php echo $row['datum'];?> </p>

                        </div>

                    </div>

<?php if($i % 3 == 0) : ?>
                </div>
<?php endif; ?>



<?php
$i++;
endwhile;
?>

</div>

我认为它总会在某些时候变得丑陋。这是一个快速的解决方案。模 (%) 除以数字并返回剩余值。所以 $i modulo 3 在 0、3、6、9、12 等处返回 0。这意味着它将始终添加“行填充”div。


推荐阅读