Yorum Cevaplandırma
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ı?
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);