仅具有唯一值的PHP数组
我是一名编码初学者,我试图理解并调整下面的代码,以便只返回唯一的值,而不从数据库中重复。我尝试了unique_array()的不同变体,但不幸的是没有成功。如何将从数据库返回的值限制为唯一值仅具有唯一值的PHP数组,php,mysql,arrays,Php,Mysql,Arrays,我是一名编码初学者,我试图理解并调整下面的代码,以便只返回唯一的值,而不从数据库中重复。我尝试了unique_array()的不同变体,但不幸的是没有成功。如何将从数据库返回的值限制为唯一值 <?php $sql ="SELECT COUNT( status) AS total_building FROM add_bulding WHERE status=1"; $query = $this->db->query($sql); $total_building = $query-
<?php
$sql ="SELECT COUNT( status) AS total_building FROM add_bulding WHERE status=1";
$query = $this->db->query($sql);
$total_building = $query->row_array();
?>
<div class="b-list-section">
<?php
if(!empty($building_info))
{
foreach ($building_info as $value)
{
$id = $value['id'];
$sql = "SELECT COUNT(DISTINCT building_id) AS total_list FROM add_listing WHERE building_id='$id'";
$query = $this->db->query($sql);
$total_list = $query->row_array();
?>
<a class="blink" target="_blank" href="<?php echo base_url() . 'details_building/' . $value['id'] ?>">
<div class="bilding-wrap">
<h3 class="buildingtitle"><?php echo $value['title']; ?></h3>
<?php if(!empty($value['image'])):?>
<img class="bimage" src="<?php echo base_url("uploads/thumb/" . $value['image']); ?>" alt="no image yet">
<?php else:?>
<?php $qry12=mysql_query("SELECT * FROM add_bulding_image WHERE add_building_id=$id");
$sqr1=mysql_fetch_array($qry12); ?>
<img class="bimage" src="<?php echo base_url("uploads/thumb/" . $sqr1['image']); ?>" alt="no image yet">
<?php endif;?>
</div>
</a>
尝试将查询更改为:
SELECT COUNT(building_id) AS total_list FROM add_listing WHERE building_id='$id' GROUP BY building_id
不要使用mysql.*
函数。自v5.5版(2013年6月)起,它们就被弃用,自v7.0版(2015年12月)起被删除。与and一起使用or函数。如果您想要唯一的结果,为什么不SELECT DISTINCT
?@tadman我尝试了“SELECT DISTINCT”,但它不起作用-代码仍然会返回重复的结果。您必须更具体地说明您获得的重复结果的种类。从您的问题中不清楚问题是什么,因此如果您可以编辑它并包含有帮助的结果行示例。@AlexHowansky感谢您提供的链接,我将必须了解这一点,并了解如何相应地调整代码。感谢您尝试了这一点,它应该能够正常工作,但仍然会显示重复的结果。嗯,我认为不在查询中:如果工作正常,请尝试此操作,我将编辑上面的答案。将foreach($building\u info作为$value)更改为foreach(array\u unique($building\u info)作为$value)