Kategorileri Göstermek
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;
}
}
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:)