我正在开发一个项目,我需要使用php在mysql表中显示产品。
我的设计就是这样,5个产品连续显示,依此类推。
因此,如果表中有7个产品,则应为2行。
first row 5 products
second row 2 products
我正在使用<UL>
和<LI>
来显示产品和行
<UL>
<li>first</li>
<li>2nd</li>
<li>3rd</li>
<li>4th</li>
<li>5th</li>
</ul>
<UL>
<li>6th</li>
<li>7th</li>
</ul>
我想知道如何使用foreach循环来获取上面的代码。
如果我使用forloop with 5 increment
我无法从表中获取产品并显示其名称。
由于
答案 0 :(得分:2)
echo '<ul>';
foreach ($yourResultSet as $index=>$data) {
echo '<li>' . YourOutput . '</li>';
if ($index % 5 == 0) {
echo "</ul><ul>";
}
}
echo '</ul>';
答案 1 :(得分:0)
<ul>
<?php $i = 0; ?>
<?php while($row = mysql_fetch_array($result)): /* Used to loop through a resultset*/ ?>
echo "<li>".$row['data'].</li>";
<?php
$i++; // Increment by one every loop
if($i == 5){ // We've hit the fifth iteration
echo '</ul><ul>'; // Close the UL and open a new UL
$i = 0; // Set $i back to 0 and continue looping
}
endwhile;
?>
</ul>
试试。
答案 2 :(得分:0)
实现此目的的最佳方法是让您的<li>
具有特定的宽度,以便其中五个适合父容器,并且以下两个或者您拥有的多个将放到下一行
<style>
#container {
width: 350px;
background: red;
padding:0;
margin: 0;
}
#list li
{
display: inline-block;
width: 50px;
height: 50px;
list-style-type: none;
background:blue;
margin: 2px;
padding: 0;
}
</style>
<div id="container">
<ul id="list">
<?php
while($row = mysql_fetch_array($result))
{
echo '<li>' . $row['data'] . '</li>';
}
?>
</ul>
</div>
你需要玩一些尺寸,但一切都应该有效,你有11个产品,这应该做2行5和第3行1产品。