PHP'de tek bir sorgu ile veriye ait bütün her şeyi çekme
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 çekerken diğeceğim ki;
Getten gelecek verim ile alakalı her şeyi veeklenmiş kategori adını (başka tablodaki) getir.
İki farklı sorgu ile çekersem, yani kategorisini şu şekilde;
<?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); ?>
Verimi tuttuğum tabloadan veri bilgimi şu şekilde;
<?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;
}
?>
( $data[''] olarak) 2 farklı forach ile çekersem aynı veriyi kaç tane kategori sayısı varsa o kadar çekiyor ve her farklı çektiğinde de kategoiri ismini diğer kategori adlıryla değiştiriyor
Yardımcı olabilirseniz sevinirim.
sonuncuda SELECT posts.* from posts
dener misin?
şu tablo içeriğinin ekran görüntüsünü çeker misin?
categories ve posts tablonda eşleşen kolonlarda hata mı var acaba?
$kat_id nin çıktısı nedir? ben bunu kategori id olarak düşündüğümden post ve kategori kodlarını eşleştirdim. eğer metinse, ve bunu where ile diğer tablodan sayıyla eşleştirdiysek oda hata yaratır.
category_id sütunundaki veri posts tablonda tam olarak eşleşen sütun nedir? birebir eşleşiyorlar mı?