私は通知スクリプトを作成していますが、現在、同じ画像に関する複数の通知を表示するためにこれを使用しています。たとえば、ジョンはimage_nameが好きで、サラはimage_nameが好きです->image_nameが好きです。
これは私が今まで持っているものです。
$query = mysql_query("SELECT type, extra_id, COUNT(*), id AS count FROM `notifications` WHERE `receiver_id` = '14' AND `read` = '0' GROUP BY type, extra_id");
while($row = mysql_fetch_array($query)){
if($row['count'] == 1){
switch ($row['type']) {
case "Following":
echo "John Doe is now following you <br />";
break;
case "Liked":
$image_id = $row['extra_id'];
$image_q = mysql_query("SELECT * FROM `images` WHERE `id` = '$image_id' LIMIT 1");
$image = mysql_fetch_array($image_q);
echo "John Doe likes ".$image['heading']."<br />";
break;
}
} else {
switch ($row['type']) {
case "Following":
echo $row['count']." New Users are following you <br />";
break;
case "Liked":
$image_id = $row['extra_id'];
$image_q = mysql_query("SELECT * FROM `images` WHERE `id` = '$image_id' LIMIT 1");
$image = mysql_fetch_array($image_q);
echo $row['count']." Users Like ".$image['heading']."<br />";
break;
}
}
}
そして、私のデータベースは通知テーブルでは次のようになっています。 http://i.minus.com/iZtrR0MNZ95Qn.png
そして、コードからの出力は、
2 New Users are following you
5 Users Like IMAGE_ID_29
John Doe likes IMAGE_ID_50
あるべき場所
2 New Users are following you
John Doe likes IMAGE_ID_29
2 Users like IMAGE_ID_50