在while循环中打印一次相同的值

时间:2011-09-21 12:53:17

标签: php

$query = mysql_query("SELECT * FROM tblname");
while($fetch =mysql_fetch_array($query)) {
$name = $fetch['name'];

echo "$name";

}

在我的例子中,在一段时间内回显$ name后,值为:

Carrots
Lemon
Carrots
Lemon

有没有办法不重复打印如下所示的相同值:

Carrots
Lemon

非常感谢。

6 个答案:

答案 0 :(得分:7)

$query = mysql_query("SELECT DISTINCT name FROM tblname");
while($fetch =mysql_fetch_array($query)) {
  echo $fetch['name'];
}

答案 1 :(得分:2)

SQL解决方案:

SELECT DISTINCT `name` FROM tblname;

SELECT `name` FROM tblname GROUP BY `name`;

PHP解决方案:

$my_array = array();
$query = mysql_query("SELECT * FROM tblname");

while($fetch =mysql_fetch_array($query)) {
    $my_array[] = $fetch['name'];
}

$my_array = array_unique($my_array);

echo implode('<br />', $my_array);

答案 2 :(得分:1)

$names = array();
$query = mysql_query("SELECT * FROM tblname");
while($fetch =mysql_fetch_array($query)) {
  $name = $fetch['name'];

  if (!in_array($name,$names)){
    echo "$name"; 
    $names[] = $name;
  }
}

会工作。

答案 3 :(得分:0)

只需将它们添加到如下数组中:

$items[] = $item;

之后:

$items = array_unique($items);

之后,只需打印项目。

答案 4 :(得分:0)

您可以将它们全部提取到数组中,然后运行array_unique()

$query = mysql_query("SELECT * FROM tblname");
$arr = array();
while($fetch =mysql_fetch_array($query)) {
  $arr[] = $fetch;
}

$output = array_unique($arr);
foreach ($output as $uniqe_val) {
   echo $unique_val;
}

答案 5 :(得分:0)

我觉得这个问题含糊不清。我你要求How to make a list of unique items from a column w/ repeats in PHP SQL

中出现的内容