Bir sorguda takıldım.
Amacım bir verinin bilgisini ve o verinin kategorisine ait tüm bilgileri tek bir sorguda almak.
Kullanılabilir bir kodum var ama işlev hatalı. Hatam ise kaç tane kategori varsa o kadar kategori sayısınca aynı veriyi
döndürmesi
Hatam: https://prnt.sc/OzPLaGHFMGP5
Konularımı sakladığım tablom: https://prnt.sc/PEqSq2mM5NKM
Kategorilerimi sakladığım tablom: https://prnt.sc/WK7n8kAGoUWD
verilerimi çekmek için kodum:
<?php
if (!isset($_GET['url']) || boş($_GET['url'])){
başlık('Konum:404.php');
}
$datas = $db->prepare('SELECT * FROM post WHERE url = ?');
$datas->execute([
$_GET['url']
]);
$veri = $veri->getir(PDO::FETCH_ASSOC);
if (!$veri){
başlık('Konum:404.php');
çıkış;
}
// veri kategorisini çektirdiğim kodum:
<?php $categories = $db->query('Kategorileri SEÇ.*, COUNT(posts.id) as totalCategory FROM kategorileri
LEFT JOIN gönderileri ON FIND_IN_SET(categories.id, posts.category_id)
GROUP BY Category.id DESC')->fetchAll(PDO::FETCH_ASSOC); ?>
<?php foreach ($kategori olarak $kategori): ?>
<div class="konteyner mt-4">
<div class="row">
<div class="col-md-12">
<div class="kart mb-3">
<div class="kart başlığı">
<i class="bi-folder"></i> Kategori: <a href="<?= 'category/' .seo($data['url']) ?>"><?=$category[ ' kategori_adı']?></a>
<a class="Date"><?=$data['date']?> <i class="bi-clock"></i></a>
</div>
<div class="kart gövdesi">
<?=htmlspecialchars_decode($veri['içerik'])?>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
Peki sorgumda yanlış olan ne, ne önerirsiniz?