v2.5.2
Giriş yap

Kategorileri Göstermek

ayarsiz
1,024 defa görüntülendi

Merhaba arkadaşlar sizlere bir sorum olacak.

Tablolarım;

Kategoriler Tablom
id | kategoriadi olmak üzere iki sutundan oluşuyor.

Konular Tablom
id | konuadi | katid olmak üzere üç bölümden oluşuyor.

Konularımı kaydederken birden fazla kategoriyi seçtiriyorum ve veritabanıma kayıt ediyorum..

id | konuadi | katid

1 | deneme | 1,3,5,6

yukarıdaki gibi bir şekilde mysql tablomda duruyor. ben bir türlü

konuya girdiğimde kategorilerin isimlerini yazdıramıyorum.. sadece 1 id li kategorim gözüküyor.. diğerleri görünmüyor..

nasıl bir yol izlemeliyim baya araştırdım ama hep tek kategori üzerinden gösterim yapılmış... Codeignitır yapısını kullanıyorum.. yardımcı olabilirseniz sevinirim.

Modal kodlarım

public function kategoriler($id){
   $result = $this
   ->db
   ->select('*')
   ->from('kategoriler')
   ->where('kategoriler.id',$id)
    ->join('konular','kategoriler.id=konular.katid')
   ->get()
   ->result();
   return $result;
}





Controller kodlarım

$viewData->kategoricek = $this->konular_model->kategoriler($viewData->konular->katid);

ve view kodlarım

 if (is_array($kategoricek[0]->katadi)) {

  foreach ($kategoricek as $v){ 
    echo $v->katadi;
  }

}
ayarsiz
1686 gün önce

@makifgokce tesekkür ederim..

@tayfunerbilen söylediğiniz şeyleri yaptım ve alttaki gibi düzenledim..

   $result = $this
   ->db
   ->select('konular.*, GROUP_CONCAT(kategoriler.katadi) as kategoriadi,GROUP_CONCAT(kategoriler.kategori_id) as kategoriid')
   ->from('konular')
   ->join('kategoriler','konular.katid=kategoriler.kategori_id',"inner")
   ->where_in("FIND_IN_SET('.$id.','konular.katid')")
   ->group_by('konular.id')
   ->get()
   ->result();
   if($result){
        return $result;
    }else{
        return FALSE;
    }
    
    
    
    gibi yaptım çıkan sonuç ; 1-13-7-6   tek o konuya ait id leri vermedi diğer konuların kategori idleri verdi sadece ilk sıradakileri bi de.
    hatam nerede acaba.. 
    
    döngüyüde şu şekilde yapıyorum..
    
     foreach ($kategoricek as $kategori) {
     echo  $kategori->kategoriid;
     }

}