lostyazilim
tr.link

PHP'DE BİR SORGUDA TAKILDIM!

5 Mesajlar 677 Okunma
acebozum
tr.link

it33 it33 WM Aracı Kullanıcı
  • Üyelik 07.11.2020
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Developer
  • Konum Mersin
  • Ad Soyad İ** T**
  • Mesajlar 20
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)

Bir sorguda takıldım.

Amacım bir konunun kategorisini çektirirken yanında da o kategorinin url ini çektirlebilmek.

Elde olan bir fonksiyonum var. İstiyorum ki bu gelen konuya ait kategorimin id siyle birlikte category_url ini aldırabilmek

Konularımı tuttuğum tablom: https://prnt.sc/PEqSq2mM5NKM
Kategorilerimi tuttuğum tablom: https://prnt.sc/WK7n8kAGoUWD

Kodum da şu şekilde yardımcı olabilirseniz sevinirim.

function Get_url($url){
$veri=[];

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

foreach($data as $key=>$value){
    $datas = $db->prepare('SELECT * FROM categories WHERE id = ?');
    $datas->execute([$value['category_id']]);
    $veri[] = $datas->fetch(PDO::FETCH_ASSOC);
    
}

}
 

 

elektronikssl
reklam

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)

url e göre categori mi yoksa categoriye göre url mi hocam tam anlayamadım. Bir de burda bi hata gelior mu size.

 

 

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)

it33 it33 WM Aracı Kullanıcı
  • Üyelik 07.11.2020
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Developer
  • Konum Mersin
  • Ad Soyad İ** T**
  • Mesajlar 20
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)

şu şekilde açıklarsam daha net olur hocam. Yukarıdaki kodu boşverirsek;

 

Bir sorguda takıldım.

Amacım o verinin bilgisini ve o verinin kategorisine ait tüm bilgileri tek bir sorguda almak.

Kullanılabilir bir kodum var ama işlev hatalı. Hata, aynı konuyu Bir sorguda takıldım.

Amacım o verinin bilgisini ve o verinin kategorisine ait tüm bilgileri tek bir sorguda almak.

Kullanılabilir bir kodum var ama işlev hatalı. Hata kaç tane kategori varsa o kadar kategori sayısınca aynı veriyi
döndürmek

Benim hatam: https://prnt.sc/OzPLaGHFMGP5

Verilerimi sakladığım tablom: https://prnt.sc/PEqSq2mM5NKM

Kategorilerimi tuttuğum tablom: https://prnt.sc/WK7n8kAGoUWD

verilerimi çekmek için kodum: İşte verilerimi sayfaya çekmek için kodum:

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 çektiğ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?

 

 

 

OmerGunay OmerGunay https://omergunay.net Kullanıcı
  • Üyelik 15.05.2015
  • Yaş/Cinsiyet 33 / E
  • Meslek PHP Developer
  • Konum İstanbul Avrupa
  • Ad Soyad Ö** G**
  • Mesajlar 1207
  • Beğeniler 382 / 381
  • Ticaret 16, (%100)

Tek sorguda nasıl olur tam bilmiyorum ama mantık olarak önce tüm kategorileri çekip sonra diğer tabloda o kategoride bilgi varsa onları getirmek gerekiyor.  Şöyle yazayım siz buna uygun deneyin.

<?php

$categories = $db->query("SELECT * FROM kategoriler")->fetchAll(PDO::FETCH_ASSOC);

if($categories) {

 foreach($categories as $category) {

  $posts = $db->prepare("SELECT * FROM posts WHERE category_id=?");

  $posts->execute(array($category["id"]));

  $result = $posts->fetchAll(PDO::FETCH_ASSOC);

   foreach($result as $post) {

     // döngüye girecek tasarımı buraya yazabilirsiniz.

   }


}

}

?>

 

Mesaj 1 defa düzenlendi. Son düzenleyen: ÖmerGünay (27.05.2022 21:57)

 

 

Herkes yediğinden ikram eder..(Yavuz Sultan Selim)
wmaraci
wmaraci

it33 it33 WM Aracı Kullanıcı
  • Üyelik 07.11.2020
  • Yaş/Cinsiyet 29 / E
  • Meslek Web Developer
  • Konum Mersin
  • Ad Soyad İ** T**
  • Mesajlar 20
  • Beğeniler 2 / 1
  • Ticaret 0, (%0)

Merhabalar Çok teşekkür ederim uğraştığın için. Overstackflow'da açtığım tagda halletiler olayı

 
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al