开发者

Print same values once in a while loop

$query = mysql_query("SELECT * FROM tblname");
wh开发者_StackOverflowile($fetch =mysql_fetch_array($query)) {
$name = $fetch['name'];

echo "$name";

}

In my example, after echoing out $name in a while, the values are:

Carrots
Lemon
Carrots
Lemon

Is there a way to not repeat printing the same value that will look like this:

Carrots
Lemon

Thank you very much.


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


SQL Solution:

SELECT DISTINCT `name` FROM tblname;

or

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

PHP Solution:

$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);


$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;
  }
}

Will work.


$sql = mysql_query("SELECT DISTINCT  table1.id, table2.id, table2.name 
FROM table1, table2 WHERE id=id GROUP BY name");

This Will Work 100% sure. SET GROUP BY name and DISTINCT. If not it is not working.


Simply append them into an array like:

$items[] = $item;

After that do:

$items = array_unique($items);

After that, simply print the items.


You can fetch them all into an array and then run 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;
}


I find the question ambiguous. I think you're asking for what appears in How to make a list of unique items from a column w/ repeats in PHP SQL

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜