v2.5.2
Giriş yap

PHP'de tek bir sorgu ile veriye ait bütün her şeyi çekme

ilkertuncer
648 defa görüntülendi ve 1 kişi tarafından değerlendirildi

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.

ilkertuncer
726 gün önce

Merhabalar. yardımın için minnettağrım fakat sanırım anlattığın şeyden çok bir şey anlamadım.

Sanrım en alttaki verdiğin kod ile kendi $categories bölümüm değiştirmem lazım.

Her şey aynı şekilde değiştirince hata almaktayım. Değiştirmem gerekn yerler varsa buralar neresi olmalı?

Hatam: https://prnt.sc/Anpu5yh_u8vc

Kodum ve değiştirdğim yerler: https://prnt.sc/pGT5ZZ6OvGT2

Pek bir şey anlamadım maselef. Biraz daha açıklayabilirsen minnettar kalırım.