Listelediğin sayfayıda ekler misin?
Aşağıdaki kod ile başlıkları listeliyorum;
// Veritabanındaki tüm duyuruları çekin
$sql = "SELECT a.id, a.title, a.body, a.created_at, c.name FROM announcements a
JOIN categories c ON a.category_id = c.id
WHERE a.archived = 0
ORDER BY a.created_at DESC
LIMIT 5;";
$result = mysqli_query($conn, $sql);
$counter = 0;
while ($row = mysqli_fetch_assoc($result)) {
$counter++;
if ($counter > 0 ) {
// Bu, son eklenen duyurudur
$createdAt = new DateTime($row['created_at']);
$createdAt->add(new DateInterval('PT6H')); // Tarihe 6 saat ekleyin
$now = new DateTime();
if ($now <= $createdAt) {
// Eğer şu anki tarih, duyurunun eklendiği tarihten 6 saat sonrasına eşit veya daha ilerisi değilse, duyurunun rengini değiştirin
echo "<p class='blink' style='margin-top:20px;'><img style='width:30px; height:30px; margin-right:5px;' src='assets/img/kategori-icon/" . $row['name'] . ".png'><a style='color:red; padding:5px;' href='duyuru_oku.php?id=" . $row['id'] . "'>[" . $row['name'] . "] " . $row['title'] . "</a></p>";
} else {
// Eğer şu anki tarih, duyurunun eklendiği tarihten 6 saat sonrasına eşit veya daha ilerisi ise, duyurunun rengini değiştirmeyin
echo "<p style='margin-top:20px;'><img style='width:30px; height:30px; margin-right:5px;' src='assets/img/kategori-icon/" . $row['name'] . ".png'><a style='padding:5px;' href='duyuru_oku.php?id=" . $row['id'] . "'>[" . $row['name'] . "] " . $row['title'] . "</a></p>";
}
} else {
// Diğer duyurular
echo "<p style='margin-top:20px;'><img style='width:30px; height:30px; margin-right:5px;' src='assets/img/kategori-icon/" . $row['name'] . ".png'><a style='padding:5px;' href='duyuru_oku.php?id=" . $row['id'] . "'>[" . $row['name'] . "] " . $row['title'] . "</a></p>";
}
}Kullanıcı başlığa tıkladığı zaman içeriğin tamamını okuması için sayfa: duyuru_oku.php
<?php
if ($result) {
// Duyuru çekildi
$row = mysqli_fetch_assoc($result);
if ($row['archived'] == 0) {
// Duyuru arşivlenmemiş, detayları yazdırın
echo "<p>" . $row['body'] . "</p>";
echo '<p>' . htmlspecialchars($row['body']) . '</p>';
} else {
// Duyuru arşivlenmiş, uyarı mesajı yazdırın
echo "Bu duyuru arşivlenmiştir.";
}
} else {
// Sorgu başarısız ise hata mesajını yazdırın
echo "Hata: " . mysqli_error($conn);
}
?>