Geçmiş kayıtları listelemiş olduğum bir sayfa var.
Kullanıcı burada istemiş olduğu kayıdın sağ tarafında bulunan "Düzenle" butonuna bastığı taktirde başlık ve içeriği modal üzerinde gösteriyorum.
Başlık her kayıt için değişkenlik gösteriyor, doğru bir şekilde çalışıyor.
İçerik kısmı her "Düzenle" butonuna bastığında aynı kaydı getiriyor.
Bu sorunu günlerdir çözemedim, kodumda ki hatayı göremiyorum.
Bu sorun için yardımcı olacak arkadaşa bir kahve ısmarlamak istiyorum.
Sorunun detaylı videosu: https://streamable.com/eg6gku
Duyuruları listelemiş olduğum kod:
// Duyuruları çek
$sql = "SELECT a.*, c.name AS name, u.username AS created_user_name
FROM duyuru_sistemi.announcements a
INNER JOIN duyuru_sistemi.categories c ON a.category_id = c.id
INNER JOIN test.users u ON a.created_user = u.id
WHERE a.archived = 0 AND a.created_user = '$user_id'
ORDER BY a.created_at DESC";
$result = mysqli_query($conn, $sql);
// Duyuruları bir tablo olarak göster
echo "<table class='table table-bordered'>";
echo "
<tr>
<th>Başlık</th>
<th>İçerik</th>
<th>Kategori</th>
<th>Tarih</th>
<th>Duyuruyu Ekleyen KiÅŸi</th>
<th>İşlemler</th>
</tr>
";
while($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>" . $row['title'] . "</td>";
echo "<td>" . $row['body'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['created_at'] . "</td>";
echo "<td>" . $row['created_user_name'] . "</td>";
echo "<td>";
// Düzenleme ve silme düğmelerini ekle
echo "<button class='btn btn-primary' data-id='" . $row['id'] . "' data-bs-toggle='modal' data-bs-target='#staticBackdrop'>Düzenle</button>";
echo "<button class='btn btn-warning' data-id='" . $row['id'] . "'>ArÅŸivle</button>";
//echo "<button class='btn btn-danger' data-id='" . $row['id'] . "'>Sil</button>";
echo "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($conn);Modal Kodu:<div class="modal fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="true" aria-labelledby="staticBackdropLabel" aria-hidden="true">
<div class="modal-dialog modal-xl">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title fs-5" id="staticBackdropLabel">Duyuru Düzenle</h1>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
<form id="edit-announcement-form" style="display:none;">
<input type="hidden" id="edit-announcement-id">
<label for="edit-title">Başlık:</label>
<input class="form-control" type="text" id="edit-title">
</br>
<label for="edit-content">İçerik:</label>
<textarea id="edit-content"></textarea>
</br>
<button class="btn btn-success" type="submit">Düzenle</button>
</form>
</div>
</div>
</div>
</div>Javascript kodu: $('.btn-primary').click(function() {
var id = $(this).data('id');
$.ajax({
url: 'duyuru_vericek.php',
type: 'POST',
data: {id: id},
success: function(response) {
var announcement = JSON.parse(response);
$('#edit-announcement-form').show();
$('#edit-announcement-id').val(announcement.id);
$('#edit-title').val(announcement.title);
editor = CKEDITOR.replace('edit-content', {
filebrowserUploadUrl: 'ckeditor/ck_upload.php',
filebrowserUploadMethod: 'form'
});
editor.setData(announcement.body);
}
});
});
// Düzenleme formunun submit olayını ekleyin
$('#edit-announcement-form').submit(function(e) {
e.preventDefault();
var id = $('#edit-announcement-id').val();
var title = $('#edit-title').val();
var content = editor.getData();
$.ajax({
url: 'duyuru_islemuygula.php',
type: 'POST',
data: {id: id, title: title, content: content},
success: function() {
location.reload();
}
});
});