Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅具有唯一值的PHP数组_Php_Mysql_Arrays - Fatal编程技术网

仅具有唯一值的PHP数组

仅具有唯一值的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-

我是一名编码初学者,我试图理解并调整下面的代码,以便只返回唯一的值,而不从数据库中重复。我尝试了unique_array()的不同变体,但不幸的是没有成功。如何将从数据库返回的值限制为唯一值

<?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)