8791 sujets

Développement web côté serveur, CMS

Pages :
bonjour,
j'ai créé un espace membres et j'ai un system de message privés et je voudrais que quand je recois un message privé, a coté de "consulter mes message privés" ca me dit (new) voici mon code


[code]if (isset($_SESSION['pseudo'])) // Si le membre est connecté
{
   $requete  = mysql_query('SELECT mp_lu
   FROM zone_mp
   WHERE mp_receveur = '.$_SESSION['id'].' ORDER BY mp_id DESC')
   or die(mysql_error());
   
   if (mysql_num_rows($requete) > 0)
   {
	
        //Voici les options
        echo'<p align="center"><span class="gestion"><font face="comic sans ms" color="white"> Gestion membres </font></span></p>
		<div class="config"><p align="center"><font face="comic sans ms" size="3" color="white"><fieldset>Vous êtes connecté en tant que
        <a href="./voir_profil.php?m='.$_SESSION['id'].'&action=consulter">
        <font face="comic sans ms" size="3" color="fuchsia">'.$_SESSION['pseudo'].'</font></a><br /><hr>
        <a href="./voir_profil.php?action=modifier"><font color="white">Modifier mon profil</font></a><br /><hr>';
		
		while ($data = mysql_fetch_assoc($requete))
        { 
		if ($data['mp_lu'] == 0) echo'<a href="./messagesprives.php"><font color="white">Consulter mes messages privés (New) </font></a><br /><hr>'; 
		else echo'<a href="./messagesprives.php"><font color="white">Consulter mes messages privés </font></a><br /><hr>';
		}
	}
		

        echo '<a href ="./deconnexion.php"><font color="white">Se déconnecter</font></fieldset></font></a><br /></p></div><br/><hr>';
	
}


je vous explique le code marche, le probleme c'est que dans mon menu espace membres, quand je recois un nouveau message au lieu de me dire new a coté de "consulter mes message privés" ca me rajoute une ligne avec "consulter mes message privés (new)"
je pense que c'est un leger probleme mais j'arrive pas a le trouver
Modifié par Dyphen (09 Oct 2007 - 16:14)
salut

finalement, t'y est mis, aux sessions Smiley cligne


$requete  = mysql_query('SELECT mp_lu
                FROM zone_mp
                WHERE mp_receveur = '.$_SESSION['id'].'
                ORDER BY mp_id DESC');

if ($requete) {
   die(message d'erreur);
} else {
      la suite...
  }

mysql_error est trop bavard, beaucoup trop



if (!empty($_SESSION['pseudo']))

ou

if (isset($_SESSION['pseudo']) && !empty($_SESSION['pseudo']))


peux exister et être vide

si tu ne veux que les nouveaux messages il faut virer le else ou modifier la requête.

pourquoi ceçi ?

if ($data['mp_lu'] == 0)
if ($data['mp_lu'] == 0)
ben si mp_lu est égal a 0 dans la table on affiche "new" a coté de consulté mes messages privés sinon on affiche consulter mes messages privés normalment tu vois
et ce zéro il vient d'où?

s'écrit aussi comme çà pour les int

$data['mp_lu'] === 0


ps: je ne t'oublies pas...
le 0 vient de la table lol tu veux voir ma table attend :


[code]CREATE TABLE `zone_mp` (
  `mp_id` int(11) NOT NULL auto_increment,
  `mp_expediteur` int(11) NOT NULL,
  `mp_receveur` int(11) NOT NULL,
  `mp_titre` varchar(100) collate latin1_general_ci NOT NULL,
  `mp_text` text collate latin1_general_ci NOT NULL,
  `mp_time` int(11) NOT NULL,
  `mp_lu` enum('0','1') collate latin1_general_ci NOT NULL,
  PRIMARY KEY  (`mp_id`)
) ENGINE=MyISAM AUTO_INCREMENT=73 DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=73 ;


voila :s
la au moins c'est clair et pas aussi drole que çà.je ne suis devin et pilote pas ta bécane Smiley decu
je cherche!

parce que pour moi çà fonction comme tu veux avec tes codes et en testant avec 0 et/ou 1.dans session j'ai mis zéro et çà s'affiche comme prévu avec trois enregistrement en table avec 0 pour receveur et expediteur, j'ai trois liens dont un avec new.
hé, mais t'est qui toi pour balancer ta haine impuissante comme çà???

il faut se calmer mon grand.je te fais quand même remarquer que ta zone membres, si c'est qui te pose problème, j'en ai coder vingts pages!!!

pas grave elle me serviront surement.mais si!

et si je vous fait remarquer que vos scripts ne sont pas corrects, c'est pour rendre service parce que css c'est clair, c'est moins dangeureux mais file moi l'adresse de ton site et tu vas voir ce php sait faire...

de plus, sans déconner, comment tu veux débugguer sans tests quand tu utilises une session et une base, comme primaire du script? il est mignon le monsieur Smiley bawling

et, sur n'importe quel forum, quand une réponse ne vous convient pas ou si ne sentait pas celle ou celui qui répond, point de sarcasmes ou insultes, on ignore ou on dit non merci, point.ne dit on pas que le silence est le plus grand des mépris?! et non merci, c'est une façon de rester humain. Smiley cligne
Salut,

@keran, est-ce que ton message est bien au bon endroit ? Je ne vois pas le rapport avec ce sujet Smiley decu

Merci aussi à tous les deux de faire un petit effort sur l'orthographe ... J'ai assez de mal à lire le code PHP, pas la peine d'ajouter du langage SMS en bonus Smiley cligne
a écrit :
ha ! ca fait exactement pareil que moi on est proche du but !


et çà, je le prend comment!? quant à mon sms, il est là message 1

désolé.mais vraiment, çà và.
Modifié par keran (01 Oct 2007 - 21:52)
Administrateur
keran a écrit :
et çà, je le prend comment!?

Ben justement, j'aimerais bien comprendre - comme tous les autres - ce qu'il y'a de mal dans ce message Smiley confus
n'importe quoi j'ai rien dit de mal faut arrété j'ai dit qu'on était proche du but...
re bonjour désolé de mon absence de quelques jours je reviens sur mon code :


[code]$requete  = mysql_query('SELECT COUNT(*) nb
        FROM zone_mp
        WHERE mp_lu = 0 AND mp_receveur = '.$_SESSION['id'].'')
        or die(mysql_error());
        $data = mysql_fetch_assoc($requete);

        //Voici les options
        echo'<p align="center"><span class="gestion"><font face="comic sans ms" color="white"> Gestion membres </font></span></p>
		<div class="config"><p align="center"><font face="comic sans ms" size="3" color="white"><fieldset>Vous êtes connecté en tant que
        <a href="./voir_profil.php?m='.$_SESSION['id'].'&action=consulter">
        <font face="comic sans ms" size="3" color="fuchsia">'.$_SESSION['pseudo'].'</font></a><br /><hr>
        <a href="./voir_profil.php?action=modifier"><font color="white">Modifier mon profil</font></a><br /><hr>';
		
		if ($data['nb'] != 0)
		echo'<a href="./messagesprives.php"><font color="white">Consulter mes messages privés <span class="blink"><font color="red"> (New) </font></span></font></a><br /><hr>'; 
		else
		echo' <a href="./messagesprives.php"><font color="white">Consulter mes messages privés </font></a><br /><hr>'; 
		


je voudrais affiché quand un message est non lu (new) a coté de "consulter mes messages privés" , dans ma table quand le message est non lu il est égal à 0 et quand il est lu , il prend 1
ca m'affiche plus new du tout
si quelqu'un pouvait m'aider j'en peux plus de ce probleme...
merci d'avance
bonjour,

As tu testé ta requête dans ta base de donnée ? Pour verifier déjà qu'elle est bonne.

Car d'après ce que j'ai vu c'est la seul chose qui pourrai poser problème. Ou alors dans ton if pour afficher ton message essai de remplacer != par >
la requete est bonne mais la j'ai remplacer le != comme tu m'a dit par > et ca m'affiche new alors que j'ai pas de nouveaux messages...
Salut Dyphen Smiley cligne ,

dans ta requête tu testes mp_lu = 0 alors que dans ta table cette zone est de type enum. Il faudrait donc logiquement tester mp_lu = '0'...

A+

	$requete  = mysql_query('SELECT COUNT(*) nb
        FROM zone_mp
        WHERE mp_lu = '0' AND mp_receveur = '.$_SESSION['id'].'')
        or die(mysql_error());
        $data = mysql_fetch_assoc($requete);


quand je fais ca me colore mon code de mauvaise couleur sur notepad++ ca me signale une erreur :s
Pages :