我正在开发一个项目(房地产),需要显示一个属性列表。 (图片) 属性位于数据库中。属性可以有两个'objects_status':1 =出售,2 =出售。 已售出的属性在图像顶部显示“已售出”横幅。
我确实设法使用'foreach'显示属性。它随机显示属性。 我要添加的内容如下:列表中总共有2个已售出的属性。
我不想使用2个单独的foreach(第一个显示2个出售第二个显示出售物业),但在出售物业之间随机显示2个出售物业。
我使用的代码:
<?php foreach($aBuildings as $aBuilding): ?>
<div class="span2 <?php echo ($aBuilding['objects_status'] == 1 ? 'sold' : ''); ?>">
<figure>
<?php if($aBuilding['objects_status'] == 1){ echo '<div class="sold-banner">Afgelopen</div>';} else if($aBuilding['objects_status'] == 2){ echo '<div class="verkocht-banner">Verkocht</div>';} else{ echo '<div class="days-left">' . $aBuilding['daysleft'] . '</div>';} ?>
<img src="/uploads/woningen/thumb/<?=$aBuilding['objects_photo_thumb']?>" alt="">
</figure>
<ul>
<li>Normaal € <?php echo number_format($aBuilding['objects_price'], 0, '', '.'); ?></li>
<li class="now">Nu € <?php echo number_format($aBuilding['objects_discount_price'], 0, '', '.'); ?></li>
<li>Korting <?php echo round(-1 * ($aBuilding['objects_discount_price'] / $aBuilding['objects_price'] * 100 - 100)); ?>%</li>
</ul>
</div>
<?php endforeach; ?>
我似乎无法让它发挥作用。有什么建议吗?
答案 0 :(得分:1)
我建议更改数据库查询以撤回所需的结果。例如,如果您使用SQL编写:
SELECT *
FROM properties AS sale
WHERE sale.objects_status = "for sale"
UNION
SELECT *
FROM properties AS sold
WHERE sold.objects_status = "sold"
LIMIT 2
我猜你的数据库架构显然。然后,您可以像原始代码一样预测结果。