[RESOLU] Afficher lu ou non

Eléphant du PHP | 233 Messages

19 janv. 2014, 21:16

Bonsoir à tous,
mon script update si un message est lu (passe la valeur de 0 à 1 dans la table).
Malgré le passage de la valeur à 1 j'affiche toujours le message alors qu'il ne devrait pas...
Si je change la valeur de 0 à 1 ($nb['lu'] ==1) dans le code l'affichage change.
Merci de votre aide
<?php
$sql = 'SELECT lu FROM messages WHERE id_destinataire="'.$_SESSION['pseudo'].'"';
	// on lance cette requete SQL à MySQL
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
	$nb = mysql_num_rows($req);

	if ($nb['lu'] == 0) {
	echo '<p><img src="designs/email.jpg" width="40" height="39" align="absmiddle" /> <a href="messagerie.php">Vous avez un nouveau message.</a><br />';
	}
?>
Ma table :
`id`, `id_expediteur`, `id_destinataire`, `date`, `titre`, `message`, `lu`) VALUES(8, 1, 35, '2014-01-18 11:40:40', 're test', 'dedans y à', '0');

Eléphant du PHP | 233 Messages

20 janv. 2014, 08:59

Bonjour,
personne a une petite idée ?

Eléphant du PHP | 233 Messages

20 janv. 2014, 14:11

Voilà la solution :
<?php
$sql = 'SELECT messages.id, titre, date, lu, message, membres.pseudo as expediteur, membres.id as contact FROM messages, membres WHERE id_destinataire="'.$_SESSION['id'].'" AND id_expediteur=membres.id';
	// on lance cette requete SQL à MySQL
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
	//$nb = mysql_num_rows($req);
if ($data = mysql_fetch_array($req))

	if ($data['lu'] == 0) {
	echo '<p><img src="designs/email.jpg" width="40" height="39" align="absmiddle" /> <a href="messagerie.php">Vous avez un nouveau message.</a><br />';
	}
?>