Sanırım benim NOT IN kullanmam gerek ama işte oraya da foreachden gelen verilerin hepsini yazdırmam gerekiyor yani print_r() içindekilerin hepsini teker teker
Veritabanından çektiğiniz değerler dizi olarak mı geliyor? Yani foreach döngüsüne girmeden de dizi olarak geliyorsa halledebilirsiniz.
Örneğin veritabanından beğenilmeyen mesaj idleri [1,2,3,4,5,6] şeklinde geliyorsa, php'nin implode fonksiyonu ile kolayca NOT IN formatına çevirebilirsiniz.
$begenilmemisMesajlar = implode(',', $veritabanindanGelenDizi);
.... select id NOT IN($begenilmemisMesajlar) ....
Daima minimum düzeyde döngü kullanın. Döngü sayısını arttırmak performansı azaltacaktır.