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
1685 gün önce

Yardımcı olmaaya çalışan arkadaşlara teşekkür ederim daha basit bir yöntemle olayı çözdüm..

Böyle bir olayı arayan arkadaşlarda yararlansın diye nasıl yaptıgımı anlatıyorum..

modellerime asagıdaki gibi fonksiyon yazdım...

function kategoriadi($katid)
{
    $query  =   $this->db->get_where('kategoriler' , array('id' => $katid));
    $res    =   $query->result_array();
    foreach($res as $row)
        return $row['katadi'];
}


viewdeki konular içeriğimi gösterdiğim kısımada


$category = explode(',', $konu->katid); // Kategori idlerimi parçaladım..
foreach ($category as $category) {

echo $this->diziler_model->kategoriadi($category);

}

bu kadar basitmiş arkadaşlar:)