-2

我正在使用下面的代码来循环记录并显示 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());
4

1 回答 1

1

最好的方法是DISTINCT在 MySQL 查询中使用子句:

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);
于 2013-10-13T08:17:18.477 回答