如何在php中每行显示4项
我认为css中的问题,如何在php中每行显示4项,php,css,Php,Css,我认为css中的问题,$i=0应该在循环之外,因为它将按照现在的方式在每次迭代中设置为0 你的css是错误的 ul{ display block } 如果你想把你的放在标签里,你也应该把它放在里面,这里有很多错误 首先,表格是为这种结构而建立的,除此之外 您应该有一个您想要的HTML示例,这样您就有了构建php的目标 但是因为我不知道你到底想要什么,而且我通常不做PHP,所以我会尝试一下 上次我使用PHP时,我经常使用echo来避免标记混乱。所以我在这里也做了同样的事情(结果是我认为可读性更
$i=0
应该在循环之外,因为它将按照现在的方式在每次迭代中设置为0
你的css是错误的
ul{
display block
}
如果你想把你的
放在标签里,你也应该把它放在里面,这里有很多错误
首先,表格是为这种结构而建立的,除此之外
您应该有一个您想要的HTML示例,这样您就有了构建php的目标
但是因为我不知道你到底想要什么,而且我通常不做PHP,所以我会尝试一下
上次我使用PHP时,我经常使用echo来避免标记混乱。所以我在这里也做了同样的事情(结果是我认为可读性更高,可调试性更重要)
我看到的第一件事是,
$i
在while循环中,这意味着每次运行时它都会重置为0。我将其移出循环,并在每四分之一进行最后一次if测试时重置它
另外,$i++
不能是最后一个,这将使您的$i=0
,$i=4
,$i=8
,等等。打开和关闭
,在
和
之间将有3个未包装的
第二件事是在
(无序列表)内,但在(列表项)外,这是一个编号。因此我将其移动到内
ul {
display: block;
}
这应该是结果
我在
中添加了边框,这样您就可以看到它们在占用空间方面的真实外观
希望这有帮助。至少有一些提示。具体问题是什么?$i=0;如果($i%4==0)
始终为真。您可能需要类似($i=0;mysqli\u fetch\u数组($result);$i++)的{
。您的$i
始终为0。请将其放置在while之外,并在最后一次$i%4==0时将其重置为0
。此外,我非常确定
内不允许使用
Thomas Andree Lian,谢谢您的帮助,但我有一个小问题,中的讲话出现在照片旁边,我需要它放在下面你可以在图像周围放置一个div,这样就可以在图像周围形成一个框架,迫使其他所有东西都在div下面。
ul {
display: block;
}
<?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>";
}
}?>
li{
display:inline-block;
}