$kategoriler=$db->prepare("SELECT * from kategoriler WHERE kategori IN(SELECT kategori_adi FROM haberler) order by kategori_sira ASC");
$kategoriler->execute(array( ));
$kategoriler=$kategoriler->fetchAll(PDO::FETCH_ASSOC);
Veritabanı dağınık oldugu için bu şekilde yaptık.
Yaptığımız işlem ise :
Kategori tablosundan kategorileri okuyoruz, haberler tablosundaki kategori_adi kolonunda aratıyoruz, eğer haberlerde o kategoride haber yok ise kategoriyi çıkarttırmıyoruz.