使用PHP重复数据删除mysql结果

时间:2011-12-05 16:39:53

标签: php mysql deduplication

我有一个包含以下条目的表:

123 (DVD)

123 [DVD] [2007]

125 [2009]

189 (CD)

当我在自动填充字段中向用户显示这些内容时,我会删除()或[]之间的任何内容,因为这些不相关,但是,正如您从上面的列表中看到的那样,这留下了两个条目出现在下拉列表中的123 ...无论如何还要进一步抑制重复?有时可能会有多达5或6个看起来错误的说法至少!代码如下:

    // db select
    $query = "SELECT $title FROM PRprodINFO2 WHERE ((prodcatID = '$cat_id') AND ($title LIKE \"%" . $_GET["q"] . "%\")) group by $title LIMIT 8"; 

$result = mysql_query($query);

$output_items = array();

// while loop to print results
    while($row = mysql_fetch_array($result)) { $output_items[] = $row[$title]; } 

$output_items = preg_replace('/\[.*?\]|\s*/', '', $output_items); // remove [blah]

$output_items = preg_replace('/\(.*?\)|\s*/', '', $output_items); // remove (blah)

    print(implode("\n", $output_items));

非常感谢

2 个答案:

答案 0 :(得分:1)

array_unique()函数从数组中删除重复值,在您的情况下是$output_items数组。

查看http://php.net/manual/en/function.array-unique.php

答案 1 :(得分:0)

您可以使用array_unique ( array $array )删除所有重复项。