Merhabalar.

Amamcım şu. Elimde iki tablom var.

Bu tabloarın ilki 'posts' tablosu. Bu tabloda verilerimi tutuyorum. Tablom: https://prnt.sc/NvPTlgaSEL20
Diğer tablom ise 'categories' bu tablomda ise kategorilerimi tutuyorum. Tablom: https://prnt.sc/VKUO1_V2kN3N

Verimi kendim çektirmeye çalışınca aynı veriyi kaç tane kategori var ise o kadar kategori adını değiştirip aynı veriyi tekrar tekrar ekletiyor.

Verimi çekerken diğeceğim ki;
Get_url den gelecek verimin bilgilerini ve diğer tabloda tuttuğum category id sini ve adını buldurtup verim ile getir diyeceğim Nasıl yapabilirim?

Veriyi adığım kodum,

<?php

if (!isset($_GET['url']) || empty($_GET['url'])){
    header('Location:404.php');
}

$datas = $db->prepare('SELECT * FROM posts WHERE url = ?');
$datas->execute([
    $_GET['url']
]);
$data = $datas->fetch(PDO::FETCH_ASSOC);

if (!$data){
    header('Location:404.php');
    exit;
}

?>

kategorisini aldığım kodum,

<?php $categories = $db->query('SELECT categories.*, COUNT(posts.id) as toplamCategory FROM categories
LEFT JOIN posts ON FIND_IN_SET(categories.id, posts.category_id)
GROUP BY categories.id DESC')->fetchAll(PDO::FETCH_ASSOC); ?>

<?php foreach($categories as $category): ?>
<div class="container mt-4">
    <div class="row">
        <div class="col-md-12">
            <div class="card mb-3">
                <div class="card-header">
                <i class="bi bi-folder"></i> Kategori: <a href="<?= '../blog/category/' . seo($category['category_url']) ?>"><?=$category['category_name']?></a>
             
                <a class="Date"><?=$data['date']?> <i class="bi bi-clock"></i></a>
                </div>
                <div class="card-body">
                <?php $imageURL = '../admin/uploads/'.$data["image_url"]; ?>
                <div class="mainİmage"><img src="<?php echo $imageURL; ?>" alt="" /></div><br>
                    <?=htmlspecialchars_decode($data['content'])?>
                </div>
            </div>
        </div>
</div>
<?php endforeach; ?>