• 17-03-2017, 17:14:23
    #1
    Merhaba arkadaşlar;
    haberler diye bir tablo oluşturuyorum haber_kategori olarak birden fazla bir habere birden fazla kategori ekliyorum.Resim altta bunu listelerken nasıl listelemem lazım tek bir adetini gösteriyor ilk kategori ismini gösteriyor diğerlerini göstermiyor sebebi sizce ne olabilir ?

    Kategoriler İsmi Alanında kategori ismini çekiyorum ama isimleri gelmiyor tek isim geliyor...

    Resim Veritaban: https://i.hizliresim.com/oj3W4X.png

    Kod:

    <?php
    $haberlerslider = $db->prepare("SELECT * FROM j_haberler INNER JOIN kategoriler ON j_haberler.haber_kategori = kategoriler.kategoriler_id INNER JOIN octo_users ON j_haberler.haber_yazar = octo_users.uye_id WHERE haber_durumu =:haber_durumu ORDER BY haber_id ASC LIMIT 9");
    $haberlerslider->execute(array("haber_durumu" => "a"));
    $v = $haberlerslider->rowCount();
    if ($v) {
    while($row = $haberlerslider->fetch(PDO::FETCH_ASSOC)){
    $haber_title = $row['haber_title'];
    $haber_resim = $row['haber_resim'];
    $kategoriler_ismi = $row['kategoriler_ismi'];
    $haber_yazar = $row['haber_yazar'];
    echo '<div class="col-md-4">
              <article class="news-block small-block">
                <a href="#" class="overlay-link">
                  <figure class="image-overlay">
                    <img src="panel/uploads/'.$haber_resim.'" alt="">
                  </figure>
                </a>
                <a href="#" class="category">
                  '.$kategoriler_ismi.'
                </a>
                <header class="news-details">
                  <h3 class="news-title">
                    <a href="#">
                      '.$haber_title.'
                    </a>
                  </h3>
                  <p class="simple-share">
                    Yazar: <a href="#"><b>'.$haber_yazar.'</b></a> -  
                    <span class="article-date"><i class="fa fa-clock-o"></i> '.$tarih.'</span>
                  </p>
                </header>
              </article><!-- News block -->
            </div>';
    
    }
    }else {
    
      echo '<button type="button" class="btn btn-danger">Maalesef Şuan Slider Alanında Yazı Bulunmamaktadır...</button>';
    }
    ?>
          </div>
  • 17-03-2017, 17:29:32
    #2
    explode(); fonksyonu ile , değerlerini ayırıp array formatında çıktı alabilirsin.
    arkasından da in_array(); fonksyonu ile haberlerde bu kategori var mı diye kontrol edebilirsin.
    Kısaca şöyle olur
    $kategori_array = explode(',', $row['haber_kategori']);
    // Bu kod ile de if mantığı üzerinden o kategoriye ait olan yazıları alabilirsin.
    $var_mi = in_array($row["kategoriler_id"], $kategori_array);
  • 18-03-2017, 10:35:43
    #3
    BerkPW adlı üyeden alıntı: mesajı görüntüle
    explode(); fonksyonu ile , değerlerini ayırıp array formatında çıktı alabilirsin.
    arkasından da in_array(); fonksyonu ile haberlerde bu kategori var mı diye kontrol edebilirsin.
    Kısaca şöyle olur
    $kategori_array = explode(',', $row['haber_kategori']);
    // Bu kod ile de if mantığı üzerinden o kategoriye ait olan yazıları alabilirsin.
    $var_mi = in_array($row["kategoriler_id"], $kategori_array);
    Hocam tam olarak anlayamadım ? şimdi ;

    $kategori_array = explode(',', $row['haber_kategori']);

    bunu yaptığım zaman sorun değil iki adet kategori id sini veriyor ama kategori id ye göre nasıl kategori ismini yazdıracağım bunu çözemedim
  • 18-03-2017, 11:25:16
    #4
    Khaaos adlı üyeden alıntı: mesajı görüntüle
    Hocam tam olarak anlayamadım ? şimdi ;

    $kategori_array = explode(',', $row['haber_kategori']);

    bunu yaptığım zaman sorun değil iki adet kategori id sini veriyor ama kategori id ye göre nasıl kategori ismini yazdıracağım bunu çözemedim
    foreach ile bir döngü açarsın. Mysql sorgusu ile o id yi kategori tablosunda bulup ismi ile değiştirirsin. Değiştirdiğin verileri gene bir dizin yaparsın ya da doğrudan yazdırırsın.
  • 19-03-2017, 10:06:28
    #5
    BerkPW adlı üyeden alıntı: mesajı görüntüle
    foreach ile bir döngü açarsın. Mysql sorgusu ile o id yi kategori tablosunda bulup ismi ile değiştirirsin. Değiştirdiğin verileri gene bir dizin yaparsın ya da doğrudan yazdırırsın.
    Hocam örnek yapma şansım var mı olayı tam çözemedim