v2.5.2
Giriş yap

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

ilkertuncer
764 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
917 gün önce

Maalesef hala aynı hatayı alıyorum.

Düzenlenmiş kodum:

<?php

$categories = $db->query('SELECT posts INNER JOIN categories 
WHERE categories.id = $kat_id
ORDER BY posts.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($kat_id['category_url']) ?>"><?=$kat_id['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"]; ?>
            <div class="mainİmage"><img src="<?php echo $imageURL; ?>" alt="" /></div><br>
                <?=htmlspecialchars_decode($data['content'])?>
            </div>
        </div>
</div>
</div>
<?php endforeach; ?>