
Membre
|
Bonjour,
J'ai créé un code pour supprimer un message, mais le problème, c'est que quand l'utilisateur1 supprime le message de l'utilisateur2, et bien le message est aussi supprimé dans la messagerie de l'utilisateur2, et je ne vois pas comment faire pour que l'utilisateur2 garde une copie afin de la supprimer quand bon lui semble.
Voici le code de ma messagerie:
<?php
//On verifie que lutilisateur est connecte
if(isset($_SESSION['pseudo']))
{
if ($suppr) {
$result=mysql_query ("DELETE FROM pm WHERE id='$suppr'") or die ("Erreur de suppression");}
//On affiche la liste des messages de l'utilisateur sous la forme dun tableau
//Deux requettes sont executees, une pour recuperer les messages non-lus et une pour les messages lus
$req1 = mysql_query('select m1.id, m1.title, m1.timestamp, count(m2.id) as reps, test.id as userid, test.pseudo from pm as m1, pm as m2,test where ((m1.user1="'.$_SESSION['userid'].'" and m1.user1read="no" and test.id=m1.user2) or (m1.user2="'.$_SESSION['userid'].'" and m1.user2read="no" and test.id=m1.user1)) and m1.id2="1" and m2.id=m1.id group by m1.id order by m1.id desc');
$req2 = mysql_query('select m1.id, m1.title, m1.timestamp, count(m2.id) as reps, test.id as userid, test.pseudo from pm as m1, pm as m2,test where ((m1.user1="'.$_SESSION['userid'].'" and m1.user1read="yes" and test.id=m1.user2) or (m1.user2="'.$_SESSION['userid'].'" and m1.user2read="yes" and test.id=m1.user1)) and m1.id2="1" and m2.id=m1.id group by m1.id order by m1.id desc');
?>
</p>
<div class="boutoncomp" ><a href="new_pm.php" class="link_new_pm" style="text-decoration : none"><font color="#424242"><strong>Rédiger</strong></font></a></div>
<div class="boutoncomp" ><a href="esme.php" class="link_new_pm" style="text-decoration : none"><font color="#424242"><strong>Retour au compte</strong></font></a></div>
<br />
<br />
<h3> </h3>
<h3>Messages non-lus(<?php echo intval(mysql_num_rows($req1)); ?>):</h3>
<table>
<tr>
<th class="title_cell">Titre</th>
<th>Nb. Réponses</th>
<th>Participant</th>
<th>Date d'envoi</th>
<td align="center" bgcolor="#FFFFFF"> </td>
</tr>
<?php
//On affiche la liste des messages non-lus
while($dn1 = mysql_fetch_array($req1))
{
?>
<tr>
<td class="left"><a href="read_pm.php?id=<?php echo $dn1['id']; ?>"><?php echo htmlentities($dn1['title'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td><?php echo $dn1['reps']-1; ?></td>
<td><a href="profile.php?id=<?php echo $dn1['userid']; ?>"><?php echo htmlentities($dn1['pseudo'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td><?php echo date('d/m/Y H:i:s' ,$dn1['timestamp']); ?></td>
</tr>
<?php
}
//Sil na aucun message non-lu, on le dit
if(intval(mysql_num_rows($req1))==0)
{
?>
<tr>
<td colspan="4" class="center">Vous n'avez aucun message non-lu.</td>
<td align="center" bgcolor="#FFFFFF"> </td>
</tr>
<?php
}
?>
</table>
<br />
<h3>Messages lus(<?php echo intval(mysql_num_rows($req2)); ?>):</h3>
<table>
<tr>
<th class="title_cell">Titre</th>
<th>Nb. Réponses</th>
<th>Participant</th>
<th>Date d'envoi</th>
<td align="center" bgcolor="#FFFFFF"> </td>
</tr>
<?php
//On affiche la liste des messages lus
while($dn2 = mysql_fetch_array($req2))
{
?>
<tr>
<td class="left"><a href="read_pm.php?id=<?php echo $dn2['id']; ?>"><?php echo htmlentities($dn2['title'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td><?php echo $dn2['reps']-1; ?></td>
<td><a href="profile.php?id=<?php echo $dn2['userid']; ?>"><?php echo htmlentities($dn2['pseudo'], ENT_QUOTES, 'UTF-8'); ?></a></td>
<td><?php echo date('d/m/Y H:i:s' ,$dn2['timestamp']); ?></td>
<td bgcolor="#FFFFFF"><a href="delete_ac.php?id=<? echo $dn2['id']; ?>">Supprimer</a></td>
</tr>
<?php
}
//Sil na aucun message lu, on le dit
if(intval(mysql_num_rows($req2))==0)
{
?>
<tr>
<td colspan="4" class="center">Vous n'avez aucun message lu.</td>
<td align="center" bgcolor="#FFFFFF"> </td>
</tr>
<?php
}
?>
</table>
<p>
<?php
}
else
{
echo 'Vous devez être connecté pour accéder à cette page.';
}
?>
voici maintenant le code pour supprimer un message:
<?php
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// get value of id that sent from address bar
$id=$_GET['id'];
// Delete data in mysql from row that has this id
$sql="DELETE FROM $tbl_name WHERE id='$id'";
$result=mysql_query($sql);
// if successfully deleted
if($result){
echo "Message supprimé.";
echo "<BR>";
echo "<a href='list_pm.php'>Retour</a>";
}
else {
echo "ERROR";
}
// close connection
mysql_close();
?>
|

Membre
|
Je cherche à faire pareil sauf que au lieu de faire un "DELETE" je fais un "UPDATE".
ça sert à quoi ?
Et bien comme le user(1 ou2)read, je fais en sorte que la valeur "0" s'inscrit lorsqu'il supprime comme ça n'affiche le message pour le membre qui a pas supprimé.
Ce n'est pas au point car j'ai du mal à UPDATE et à afficher seulement les message qui ont la valeur 1
|