用于 CSS ul{ disp-6ren">
gpt4 book ai didi

php - 如何在php中每行显示4个元素

转载 作者:行者123 更新时间:2023-11-28 09:36:43 24 4
gpt4 key购买 nike

<?php


while($rows = mysqli_fetch_array($result)){
$i = 0;
if($i % 4 === 0) { ?>
<ul> <?php } ?>
<li><img src="<?php echo $rows['images'] ?>" /></li>
<p><?php echo $rows['brand'] ?></p>
<?php if($i % 4 === 0) { ?>
</ul>
<?php } $i++; ?>
<?php }

?>

用于 CSS

ul{

display block
}

我认为是css的问题

最佳答案

这里有很多错误。

首先表是为这种结构构建的,撇开这一点不谈。

你应该有一个你想要的 HTML 的例子,这样你就有了构建你的 php 的目标。

但由于我不太清楚您到底想要什么,而且我通常不使用 PHP,所以我试一试。

上次我做 PHP 时,我经常使用 echo 来避免标签困惑。所以我在这里做了同样的事情(导致我认为更具可读性和更重要的可调试性)。

我首先看到的是您的 $i在 while 循环内,这意味着它在每次运行时重置为 0。我将其移出循环并在最后一个 if 测试中将其重置。

还有 $i++不能是最后一个,那会让你的$i=0 , $i=4 , $i=8等打开和关闭 <ul>并且将有 3 个展开 <li></ul> 之间和 <ul> .

第二件事是<p><ul>里面(无序列表)但在 <li> 之外(列表项)这是不行的。所以我把它移到了<li>里面.

<?php
$i = 0;
while($rows = mysqli_fetch_array($result))
{
if($i % 4 === 0) {
echo "<ul>";
}
$i++;
echo "<li>";
echo "<img src=\"$rows['images']\"/>";
echo "<p>$rows['brand']</p>";
echo "</li>";
if($i % 4 === 0) {
$i = 0;
echo "</ul>";
}
}?>

对于 CSS,试试 display:inline-block

li{
display:inline-block;
}

应该是这样的结果 http://jsfiddle.net/go16zspr/2/

我将边框添加到 <li>这样您就可以看到它们在占用空间方面的真实情况。

希望对您有所帮助。至少它的一些指示。

关于php - 如何在php中每行显示4个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25496146/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com