我正在处理一个项目(房地产),需要显示一个属性列表。(图片)属性在数据库中。属性可以有两个'objects_status':1=for销售,2=sold。已售出的房产将在图像顶部显示“已售出”的横幅。
我确实使用了'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; ?>我好像不能让它工作。有什么建议吗?
发布于 2013-07-19 20:57:45
我建议更改DB query以拉回您想要的结果。例如,如果您正在使用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我猜很明显你的数据库模式。然后你就可以像你的原始代码一样遍历结果了。
https://stackoverflow.com/questions/17746380
复制相似问题