PHP/PDO ile son konuları ve yorum yapılan konuları listeleme hakkında
Php / Pdo ile birlikte bir oyun platformu için her şeyin içerisinde olduğu bir sistem üzerinde çalışıyorum. Bunun yanına ek olarak forum sistemini ekledim fakat istatistikler kısmında son konuları listeleyip gelen yanıtları listeleyemiyorum. Açık konuşmak gerekirse mantığım nasıl bir şey yapmam gerektiği konusunda bir şeyleri doğru söylemiyor. Nasıl bir sorgu yazarsan bu içerikleri beraber listeleyebilirim?
Listelemek istediğim şekil:
YNT: Yeni Konu
Yeni Konu
Şeklinde.
Listeleme Şekli:
Konu Tablosu:
Yorum Tablosu:
Yardım edemeyecekseniz bile en azından mantığımın doğru çalışması için önerilerde bulunursanız çok memnun olurum.
Merhaba yapmak istediğin olay tam olarak bu mu?
Burdaki gibi son eklenen konunun üzerine, o konuya gelen son yanıtları göstermek mi?
Eğer yapmak istediğin tam olarak bu ise.
<body>
<?php
$yeniEklenenKonular = $db->prepare("SELECT topics.topic_id, topics.topic_name, users.user_nickname, categories.category_name FROM
topics INNER JOIN users ON topics.user_id = users.user_id INNER JOIN categories ON topics.category_id = categories.category_id ORDER BY topics.lastdate DESC");
$yeniEklenenKonular->execute();
?>
<?php foreach($yeniEklenenKonular as $row): ?>
<?php
$yeniYanit = $db->prepare("SELECT comments.*, topics.topic_name, users.user_nickname FROM comments INNER JOIN topics ON
comments.topic_id = ? INNER JOIN users ON comments.user_id = users.user_id WHERE comments.topic_id = topics.topic_id ORDER BY comments.last_date DESC LIMIT 3");
$yeniYanit->execute([$row["topic_id"]]);
foreach($yeniYanit as $yanitRow):
?>
<p>Yanıt : <a href="#"> <?php echo $yanitRow["topic_name"]; ?> </a> - (Kullanıcı adı : <a href="#"><?php echo $yanitRow["user_nickname"]; ?></a> )</p>
<?php endforeach; ?>
<p><a href="#"><?php echo $row["topic_name"]; ?></a> Ekleyen : <a href="#"><?php echo $row["user_nickname"]; ?></a> (<?php echo $row["category_name"]; ?>)</p>
<?php endforeach; ?>
</body>
Bu şekilde yapmak mümkün, yeniYanit
sorgusundaki LIMIT
ifadesi ile o konuya son eklenen kaç yorumu getirmek istediğini belirleyebilrsin ben örnek olarak son 3 yorumu getirsin dedim.
Temsili olarak users
tablomun yapısı bu şekilde: