我正在使用PHP从数据库中回显我的产品。如果我们只使用 foreach,我们将得到每个循环一个项目的结果,但实际上我希望它回显两个项目每一次作为ub下面的函数。
这是我的PHP函数,使用 foreach 从数据库中获取数据。
我已经使用了***行项***选择器来 Package 产品***选择器,所以我想回显一个***产品***块两次,然后它应该回显***行项。
示例:行项目= 1,则***产品***= 2
public function last_upated_products() {
$data = $this->newest_products_from_db('products');
$out = '';
if ($data) {
foreach ($data as $k => $row) {
$out .= '<div class="row item">';
$out .= '<div class="product">';
$out .= '<div class="image">';
$out .= '<a href=""><img src="' . base_url('asset/img/main/9.jpg') . '" alt="img" class="img-responsive"></a>';
$out .= '<div class="promotion"><span class="discount">' . $row['prod_id'] . '% OFF</span> </div>';
$out .= '</div>';
$out .= '<div class="description"><div class="price"><span>$' . $row['prod_price'] . '</span></div><h4><a href="#">' . $row['prod_name'] . '</a></h4>';
$out .= '<p>' . $row['prod_descrip'] . '</p>';
$out .= '</div>';
$out .= '</div>';
$out .= '</div>';
}
}
return $out;
}
此函数将回显循环中的一个项目。
2条答案
按热度按时间u0njafvf1#
你不能在一个循环的迭代中打印两次。你可以使用条件HTML输出来完成这项工作。
想想这个:
4zcjmb1e2#
你可以使用modulus operator来进行检查,如果你的迭代器是2的倍数,它会输出相应的元素(它通过检查余数是否为零来完成):
请注意,如果您的集合包含奇数,则最后一位
($i + 1) === count($data)
非常重要。