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