Php Mesaj Silme Mantığı Nasıl Yapılır Php: PDO

İyi günler, bir mesajlaşma mantığı yapmaktayım ve buna mesaj silme mantığını ekleyemedim.

Bana gönderilen mesajı veri tabanında tablomda gelen 'delete_message' ınt değeri 0'ise mesajlar listensin 1'ise mesajlar listelenmesin. Kodlarları sizlerle paylaşıyorum. Veri tabanında mesajları iki tabloda tutuyorum biri gönderen ve alan id'si olarak diğeri ise gönderen id'si olarak. diğer tablomda ise mesajın kendi id'si ve gönderenin id'sani topluyorum ve messages.php dosyamda çağırıyorum. Mesaj gizleme mantığını nasıl yapayım.  Tablo yapısındaki sütunun adı delete_message her iki tablomda mevcut hangisinde çektiysem işe yaramadı.

messages.php

<?php require_once 'header.php'; ?>

	<?php

		require_once 'config.php';
		require_once 'function.php';

		$sendId = $_SESSION['userId'];
		$list = $db->query("SELECT * FROM messages WHERE user_id='$sendId' or send_id='$sendId' order by updateTime desc ")->fetchAll(PDO::FETCH_ASSOC);
		

	?>
	<div class="row">
		<div class="panel">
			<?php if ($_GET['status']=="error") { ?> 	
	             
	            <div class="alert alert-danger">
	                <strong><i class="fa fa-exclamation-triangle fa-lg"></i> Hata!</strong> Mesaj silinemedi.
	            </div>
	            <div class="space"></div>

	        <?php } else if ($_GET['status']=="successful") { ?>
	             
	            <div class="alert alert-success">
	                <strong><i class="fa fa-exclamation-triangle fa-lg"></i> Bilgi!</strong> Mesaj Başarıyla silindi
	            </div>
	            <div class="space"></div>

	        <?php } ?>
			<table id="customers">
				<tr>
					<th>Ad</th>
					<th>Mesaj</td>
					<th>Tarih</th>
					<th>Detay</th>
					<th></th>
				</tr>
				<?php

					foreach($list as $key => $value) {

						if ($value['user_id'] == $sendId)  {

							$useId = $value['send_id'];

						} else { 

							$useId = $value['user_id']; 

						}

						$userinfo = userinfo($useId);

						$sonmesaj = $db->query("SELECT * FROM messages_sub WHERE messages_id={$value['message_id']} order by sub_id,message_seen desc limit 0,01")->fetch(PDO::FETCH_ASSOC);

						$date = $sonmesaj['message_date'];
						$plenty = explode(",",$date);
						$combine = $plenty[0].$plenty[1].",".$plenty[3];

				?>
				<tr>
					<td><?php echo $userinfo['user_name']; ?></td>
					<td><?php echo substr($sonmesaj['message_subject'], 0,20) ?></td>
					<td><?php echo $combine; ?></td>	
					<td><a href="message-view.php?id=<?php echo $useId; ?>&sub_id=<?php echo $sonmesaj['sub_id'] ?>">Mesaj <i class="fa fa-envelope"></i></a></td>
					<td>
						<a href="user.class.php?delete_message=ok&sub_id=<?php echo $sonmesaj['sub_id'] ?>"><i class="fa fa-trash-o"></i></a>
					</td>
				</tr>
				<?php } ?>
			</table>
			
		</div>
	</div>
<?php require_once 'footer.php' ?>

 

Veri tabanı gönderen ve alan id'si

Mesaj Tablom

Bu Mesaj Silme mantığını nasıl kodlarım?

SQL sorgunuzda delete_message = 0 olması şartını belirtmemişsiniz:

SELECT * FROM messages WHERE (user_id='$sendId' or send_id='$sendId') AND (delete_message = 0) order by updateTime desc

Hocam sorunu farklı bir yöntemle hallettim. Yardımınız için teşekkür ederim.

Cevap Yaz

Cevap yazabilmek için üye girişi yapmanız gerekiyor!

Yukarı Git