arkadaşlar konuyu biraz fazla uzattım biliyorum ama yapmak istediğimi tam olarak malesef yapamadım en son @Vinsanity verdiği kodları şu hale getirdim:
$query = $db->prepare("SELECT * FROM hkat");
$query->execute();
if($query->rowCount() > 0){
while($row=$query->fetch(PDO::FETCH_ASSOC)){
$query_haber = $db->prepare("SELECT * FROM haber WHERE kat = ? LIMIT 10");
$query_haber->execute(array($row['id']));
if($query_haber->rowCount() > 0){
while($row_haber = $query_haber->fetch(PDO::FETCH_ASSOC)){
echo $row_haber['baslik']." kategori: ".$row_haber['kat']."<br>";
}
}
}
}şuan kategoriye göre veri çekiyor şu şekilde çıktı veriyor:
şimdi benim bu kod bloğunda kontrol yapısı kullanmam lazım yani spor haberlerini siyaset haberlerini ayrı ayrı bastırmalıyım:

yukarıdaki resimdeki gibi siyaset haberlerinden 10 tane ekrana bassın altına spor haberleriden 10 tane bu hale kodları getirmek için mesela spor kategorisinin id 1 olsun siyaset kategori id 2 if içinde id 1 e eşitse haberler tablosundan kat sutunu 1 olan 10 haber ekrana bastır şeklinde yazmam gerek şuan ne dedemek istediğimi ben bile zor anlıyorum ama inşallah siz anlamıssınızdır.