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ı?
@fatihkurtl, @ebykdrms ikinize de ayrı ayrı teşekkür ederim arkadaşlar.
@ebykdrms güzel ve beyinde fikirler uyandıracak bilgiler verdiğiniz için teşekkür ederim. Yazmışken sormak istiyorum.
Makaleyi html olarak yazdırıp bunu üyelere nasıl göstereceğiz?
- Kişi makele oku linkine tıkladığında html sayfasını mı görecek?
- Html sayfası php sayfasına include mi edilecek?
- Her makalenin html dosyası olmalı mı?
GÜNCELLEME
Hocam listeleme işleminde bir sorun yaşıyorum.
Resimdeki hatayı alıyorum. Alt cevabı olmayan yorumda hata veriyor
Yardımcı olabilir misiniz?
Yorumlar Tablosu
Hata
db.php
<?php
function yorumlar($makale_id, $ust_yorum_id = null){
global $db;
$sorgu = "SELECT * FROM yorumlar INNER JOIN uyeler ON uyeler.uye_id = yorumlar.uye_id WHERE makale_id = :mak_id AND ust_yorum_id = :ust_yor_id";
$query = $db->prepare($sorgu);
if($ust_yorum_id != null){
$query->execute([":mak_id" => $makale_id, ":ust_yor_id" => $ust_yorum_id]);
}else{
$query->execute([":mak_id" => $makale_id, ":ust_yor_id" => 0]);
}
$yaz = $query->fetchAll(PDO::FETCH_ASSOC);
if($query->rowCount() > 0){
return $yaz;
}else{
return false;
}
}
read.php
<?php
include_once 'inc/db.php';
$mak_id = $_GET["id"];
$yaz = makale($mak_id);
$yorumlar = yorumlar($mak_id);
?>
<div class="yorumlar">
<!-- Ana Yorum Başlangıç -->
<?php foreach($yorumlar as $yorum): ?>
<div class="ana_yorum">
<?php
echo $yorum["uye_adi"];
echo $yorum["yorum_icerik"];
?>
<a href="#" class="mt-2">Cevapla</a>
<!-- Cevap Yorum Başlangıç -->
<?php
$ust_yorum_id = $yorum["yorum_id"];
if($ust_yorum_id != 0):
$ust_yorumlar = yorumlar($mak_id, $ust_yorum_id);
?>
<?php foreach($ust_yorumlar as $ust_yorum): ?>
<div class="cevap_yorum">
<?php
echo $ust_yorum["uye_adi"];
echo $ust_yorum["yorum_icerik"];
?>
<a href="#" class="mt-2">Cevapla</a>
</div>
<?php endforeach; ?>
<?php endif; ?>
<!-- Cevap Yorum Bitiş -->
</div>
<?php endforeach; ?>
<!-- Ana Yorum Bitiş -->
</div>