SQL PHP diziye sonuçları

5 Cevap php

I would like to create an array (in php) from sql results like this: We have the sql-table "Posts" which stores the Name and the Message.Example:

İsim | Mesaj

John | Merhaba

Nick | güzel bir gün

George | Hoşçakal

John | nerede

What i want is to output the names of people who have posted a message but dont display the same names more than 1 time. So the output would be John,Nick,George. (From these records, we see that John has posted 2 messages, but at the final output, we see only one time his name).

Is this somehow possible? Thanks in advance.

5 Cevap

Deneyin:

$sql = <<<END
SELECT DISTINCT Name FROM Posts
END;
$query = mysql_query($sql) or die($sql . ' - ' . mysql_error());
$names = array();
while ($row = mysql_fetch_array($query)) {
  $names[] = $row[0];
}
print_r($names);

SELECT DISTINCT

Sadece farklı isim ve başka bir şey seçmek için bir SQL sorgusu çalıştırmak olabilir:

SELECT DISTINCT Name FROM Posts;

Her benzersiz değer sadece sette 1 kez iade edilen bu size farklı isimleri değerlerden oluşan bir sonuç kümesi verecektir.

Eğer grup tarafından kullanılarak bir araya gerekir sayısı almak için:

SELECT NAME , COUNT(*) as Posts FROM Posts GROUP BY NAME

BY grubuna hoşlanmıyorsunuz değilseniz buraya SQL olduğunu

select count(name) as N, name from posts group by name ;

1'den fazla mesajı olan insanlar

select count(name) as N, name from posts group by name having N > 1 ;