v2.5.2
Giriş yap

Yorum Cevaplandırma

coder
324 defa görüntülendi

Merhaba arkadaşlar.

Bir makalemiz var.
Ona yorum yapılıyor. Ama yorum sisteminde kişiler, bir yorum altında bir birine cevap verebiliyor.
Aşağıdaki resimde olduğu gibi.

Şimdi bunu yapabilmem için şunlar olması gerekiyor.

makaleler tablosu
makale_id | makale_icerik

uyeler tablosu
uye_id | uye_adi

yorumlar tablosu
yorum_id | makale_id | uye_id | yorum_icerik

Şimdi takıldığım nokta şu.

Bir yorum altında kişileri nasıl birbirine cevap verdirebilirim.
Tablo yapısı nasıl olmalı?

ebykdrms
293 gün önce

Bu hata, 24.satırda array'in "yorum" diye bir key'ine ulaşılmaya çalışıldığını ama öyle bir key olmadığını söylüyor.
$yorumlar değişkeni içinde nasıl bir veri geliyor?
$duzenlenmisYorumlar değişkeni içinde nasıl bir veri oluşuyor?
Bunları görüp ona göre bir yaklaşım üretebiliriz.
Bu değişkenlerin değerlerini paylaşabilir misiniz?

function showVar($var) {
    echo '<pre>';
    var_dump($var);
    echo '</pre>';
}

Bu şekilde bir fonksiyon oluşturup, bu fonksiyon ile değişkenlerin değerini alabilirsiniz:

$yorumlar = tumYorumlar($mak_id);
$duzenlenmisYorumlar = [];
foreach($yorumlar as $yorum) {
    // Baktığımız yorumun üst yorumu yoksa, ana yorum olarak eklensin.
    if($yorum['ust_yorum_id'] === 0) {
      $duzenlenmisYorumlar[ 'yorum_'.$yorum['yorum_id'] ] = ['yorum'=>$yorum, 'alt_yorumlar'=>[]];
    }
    // Baktığımız yorumun üst yorumu varsa, o yorumun alt yorumu olarak eklensin
    else {
      $duzenlenmisYorumlar[ 'yorum_'.$yorum['yorum_id'] ]['alt_yorumlar'][] = $yorum;
    }
}
showVar($yorumlar);
showVar($duzenlenmisYorumlar);