mysql fetch数组的问题

时间:2013-10-13 08:11:52

标签: php

我使用下面的代码来循环记录并显示Country值。如果有重复值,则它们都列在澳大利亚,澳大利亚,美国,美国,美国。如何删除任何重复项并只显示澳大利亚,美国?我不能在mysql_query中使用DISTINCT,因为我需要使用现有的mysql_query。感谢

<?php
while($row = mysql_fetch_array($result)) {
   echo $row['Country'];
}

?>

我无法在mysql_query中使用DISTINCT,因为我需要使用现有的mysql_query。

我正在使用

$result = mysql_query("SELECT * FROM specials WHERE expiry > CURDATE() ORDER BY Country;") or die(mysql_error());

1 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法是在MySQL查询中使用DISTINCT子句:

SELECT DISTINCT Country FROM table_name

但是,因为你添加了这个:

  

我无法在mysql_query中使用DISTINCT,因为我需要使用现有的mysql_query。

您可以简单地将所有国家/地区存储在数组中,然后使用PHP的内置函数array_unique()删除重复值,如下所示:

while($row = mysql_fetch_array($result)) {
    $countries[] = trim( $row['Country'] );
}
$countries = array_unique($countries);