Problème affichage info bulle et date_vue

Résolu/Fermé
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 27 juin 2015 à 02:39
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 - 1 juil. 2015 à 15:42
Bonjour,

1/ J'aimerai que lorsque une personne a cliqué sur l'onglet invitation sur laquelle il y avait une info bulle, elle s'efface après que l'utilisateur aie vu l'invitation, qu'est ce quii cloche sur ma function ?

<?php 
//-----------------------------------------------//
//  Fichier : ibi.func.php
//-----------------------------------------------//
/*
//la function qui va nous permettre d'afficher l'info-bulle des invitations
*/
function afficher_ibi_invitations(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_invitation) as NB
         FROM amis 
         WHERE (date_invitation = date_confirmation
         AND pseudo_dest=:pseudo_session)
      OR (pseudo_exp=:pseudo_session AND date_confirmation > date_vue) ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}

/*
//la function qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'info-bulle 
*/
function update_date_vue(){
 global $bdd;
  //récupération des variables PROPREMENT !
  $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
 if($pseudo_exp){
  $sql = "UPDATE amis
           SET active=1
          , date_vue=NOW()
         WHERE pseudo_exp = :session_pseudo";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array('session_pseudo' => $pseudo_exp);
  try{ 
   $query = $bdd->prepare($sql);
   $query ->execute($params);  
 }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 }
}

/**
*la function qui va nous permettre d'afficher l'info-bulle des messages
*/
function afficher_ibi_messages(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_conversation) as NB
         FROM conversations
         WHERE pseudo_dest=:pseudo_session
      OR (pseudo_exp=:pseudo_session > date_vue) ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}


2/ Pour ce qui est de l'onglet "messages", le "1" ne s'affiche même pas pour que j'y puis styliser son info bulle, comme résoudre ceci ? après cela j'aimerai faire la même chose pour le 1/

voilà et ce sera vraiment terminé pour ce qui est du tuto :)

Merci d'avance ;)
A voir également:

6 réponses

jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705
27 juin 2015 à 14:28
Bonjour,

1/

Je suppose que lorsque le user click sur l'onglet invitation
ça lances cette fonction la : update_date_vue()

Déjà... que contient ta BDD avant et après avoir lancé la fonction ??
- est-ce qu'en BDD les valeurs sont bonnes ?

Ensuite... es tu sûr qu'il faille utiliser cette requête ci :
UPDATE amis
           SET active=1
          , date_vue=NOW()
         WHERE pseudo_exp = :session_pseudo

C'est le active=1 qui me choque.... Cela signifie que tu valide directement le fait qu'ils deviennent amis..... ça m'étonne .. vu que tu as normalement un "bouton" prévu à cet effet.
Et puis... ça ne mets à jour QUE si c'est l'expéditeur qui cliques sur l'onglet invitation... pas le destinataire ... est-ce normal ??




2/
2/ Pour ce qui est de l'onglet "messages", le "1" ne s'affiche même pas

Autre question = Nouvelle discussion.
Merci de t'en souvenir à l'avenir.




0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
27 juin 2015 à 15:27
voici la fonction mysql_ :
//fonction qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'infobulle
function update_date_vue(){
        $query = mysql_query("UPDATE amis SET date_vue= NOW() WHERE pseudo_exp = '{$_SESSION['pseudo']}' AND active = 1") or die(mysql_error());
}


et ma fonction pdo :
//la function qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'info-bulle 
*/
function update_date_vue(){
 global $bdd;
  //récupération des variables PROPREMENT !
  $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
 if($pseudo_exp){
  $sql = "UPDATE amis
          SET date_vue=NOW()
         WHERE pseudo_exp = :session_pseudo AND active=1";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array('session_pseudo' => $pseudo_exp);
  try{ 
   $query = $bdd->prepare($sql);
   $query ->execute($params);  
 }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 }
}


des remarques ?
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
27 juin 2015 à 16:30
C'est mieux
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
27 juin 2015 à 17:04
mais le "1" ne s'efface toujours pas après avoir vu les invitations :/
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
27 juin 2015 à 17:06
.... tu as fait ce que je t'ai dis par rapport à la BDD ?
Regarder les valeurs AVANT ...puis APRES avoir cliqué sur ton lien d'update ?????
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
27 juin 2015 à 19:16
j'ai ceci : http://www.noelshack.com/2015-26-1435425395-capture.jpg
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
28 juin 2015 à 21:33
comment corriger cela ? :/
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705
Modifié par jordane45 le 29/06/2015 à 00:01
Et bien...
Ta requête actuelle :
INSERT INTO amis(id_invitation,pseudo_exp,pseudo_dest,date_invitation,date_confirmation,date_vue,active) VALUES ('',:sessPseudo,:getPseudo,NOW(),NOW(),NOW(),0)

insère dans la table "amis", dans les champs :
id_invitation,
pseudo_exp,
pseudo_dest,
date_invitation,
date_confirmation,
date_vue,
active
Les valeurs (dans le même ordre que les champs cités ci-dessus
''
,:sessPseudo,
:getPseudo,
NOW(),
NOW(),
NOW(),
0

....
Donc... vu que ton souci c'est que les champs date_confirmation et date_vue ... ont une date d'enregistrée .. alors qu'ils ne devraient pas...... il te suffit de modifier la requête en les retirant !
(au passage... on peut également retirer l'ID !! )

Bref.. ça donne :
function enreg_invitation() {
global $bdd; // déclaration globale de BDD

$sess_pseudo = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
$get_pseudo = isset($_GET['pseudo'])?$_GET['pseudo']:NULL;

if($sess_pseudo && $get_pseudo) {
  $sql = "INSERT INTO amis
                             (pseudo_exp
                               ,pseudo_dest
                               ,date_invitation
                                ,active)
                   VALUES (:sessPseudo
                                ,:getPseudo
                                ,NOW()
                                 ,0)";
  $params = array(":sessPseudo" =>$sess_pseudo 
             ,":getPseudo" => $get_pseudo );
  try {
     $query = $bdd->prepare($sql);
     $req = $query->execute($params);
  }catch(Exception $e){
      // en cas de soucis dans la requete :
      echo "<br>ERREUR ! ".$e->getMessage()."<br>";
      echo "<br>params : <br>";
      print_r($params);
   }
 }//fin du if !
}//fin de la fonction
0
Zakarya93 > jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024
Modifié par Zakarya93 le 29/06/2015 à 00:14
mon info bulle a disparue, le date_vue a 0000-00-00 00:00:00 et aussi le date confirmation 0000-00-00 00:00:00
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705 > Zakarya93
29 juin 2015 à 01:06
Donc là ...ça me semble mieux.
Maintenant... peux tu tester la requête suivante ( avec jean ou zak)
SELECT COUNT(id_invitation) as NB
         FROM amis 
         WHERE (date_vue = '0000-00-00 00:00:00' 
           OR date_confirmation < date_vue )
          AND pseudo_dest='jean' 

.. ce qui devrait afficher les demandes qui sont destinées à Jean (ou xzak47..si tu changes dans la requêtee) ET qui n'ont pas encore été vues (date_vue =00 ) Ou celles qui ont déjà été vues... mais qui n'ont pas encore été confirmées (ou supprimées) ..
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
29 juin 2015 à 01:20
cette requete marche, donc je l'ai appliquée à mon code :
<?php 
//-----------------------------------------------//
//  Fichier : ibi.func.php
//-----------------------------------------------//
/*
//la function qui va nous permettre d'afficher l'info-bulle des invitations
*/
function afficher_ibi_invitations(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_invitation) as NB
         FROM amis 
         WHERE (date_vue = '0000-00-00 00:00:00' 
           OR date_confirmation < date_vue
          AND pseudo_dest=:session_pseudo)";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);	
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}

/*
//la function qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'info-bulle 
*/
function update_date_vue(){
 global $bdd;
  //récupération des variables PROPREMENT !
  $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
 if($pseudo_exp){
  $sql = "UPDATE amis
          SET date_vue=NOW()
         WHERE pseudo_exp = :session_pseudo AND active=1";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array('session_pseudo' => $pseudo_exp);
  try{ 
   $query = $bdd->prepare($sql);
   $query ->execute($params);  
 }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 }
}

/**
*la function qui va nous permettre d'afficher l'info-bulle des messages
*/
function afficher_ibi_messages(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_conversation) as NB
         FROM conversations
         WHERE pseudo_dest=:pseudo_session
      OR (pseudo_exp=:pseudo_session > date_vue) ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}


mais j'ai : Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\rs\functions\ibi.func.php on line 25
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705
29 juin 2015 à 01:22
Compare les noms de variable entre ton array params...et celui contenu dans ta requête!!!
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024
29 juin 2015 à 01:24
3 variables dans la requete et 1 dans le params ?
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
29 juin 2015 à 01:33
Non... regarde le nom de TA variable dans ton array ... et celui de TA variable (il n'y en a qu'une. ..) dans ta requête !
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024
29 juin 2015 à 01:38
j'ai reglé le soucis ^^ merci :)
mais il detecte pas que j'ai vu l'invit (dans la bdd tout est à zero)
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705
29 juin 2015 à 09:06
Il faut donc regarder la fonction update_date_vue
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705
29 juin 2015 à 21:34
- Tu as testé la requête en direct dans ta BDD ? qu'est-ce que ça donne ?
- La demande... actuellement... elle est acceptée (c'est à dire active=1 ) ou pas (active = 0 )?
- Que contiennent les champs dans ta table pour la demande que tu essaies de faire afficher ?

-Tu dis que tu as toujours les mêmes soucis... c'est à dire ??? pourrais tu être un peu plus précis ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
29 juin 2015 à 21:42
- j'ai : 1 ligne affectée. (Traitement en 0.0640 sec)
avec cette requete :
UPDATE amis
          SET date_vue=NOW()
         WHERE pseudo_dest = 'xzak47' 
         AND active=0

-je n'ai ni accepté ni refusé l'invitation, elle est toujours en cours (car je teste le date_vue)
- date_vue est à 00000000 de même que date_confirmation
- meme probleme du dessus : rien n'a changé (meme en bdd), j'ai même refais un test en refusant l'invitation et la renvoyant avec le pseudo jean, il recoit lui meme une info bulle sur l'onglet invitation alors que c'est l'expediteur..
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705
29 juin 2015 à 21:47
Je n'avais pas vu... mais tu avais fait n'importe quoi sur ta fonction :
function afficher_ibi_messages(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_invitation) as NB
         FROM amis 
         WHERE (date_vue = '0000-00-00 00:00:00' 
           OR date_confirmation < date_vue )
          AND pseudo_dest= :pseudo_session ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024
29 juin 2015 à 21:49
cette fonction est "afficher ibi messages"
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
29 juin 2015 à 21:56
oui pardon... c'est ta fonction afficher_ibi_invitations() qui est fausse ....

Il faut y mettre la requête
  $sql = "SELECT COUNT(id_invitation) as NB
         FROM amis 
         WHERE (date_vue = '0000-00-00 00:00:00' 
           OR date_confirmation < date_vue )
          AND pseudo_dest= :pseudo_session ";

.. la position des parenthèses a son importance !!
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024
29 juin 2015 à 21:59
j'ai : Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\rs\functions\ibi.func.php on line 25

<?php 
//-----------------------------------------------//
//  Fichier : ibi.func.php
//-----------------------------------------------//
/*
//la function qui va nous permettre d'afficher l'info-bulle des invitations
*/
function afficher_ibi_invitations(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_invitation) as NB
         FROM amis 
         WHERE (date_vue = '0000-00-00 00:00:00' 
           OR date_confirmation < date_vue )
          AND pseudo_dest= :pseudo_session ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':session_pseudo' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);	
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}

/*
//la function qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'info-bulle 
*/
function update_date_vue(){
 global $bdd;
  //récupération des variables PROPREMENT !
  $pseudo_exp = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
 if($pseudo_exp){
  $sql = "UPDATE amis
          SET date_vue=NOW()
         WHERE pseudo_dest = :session_pseudo AND active=0";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array('session_pseudo' => $pseudo_exp);
  try{ 
   $query = $bdd->prepare($sql);
   $query ->execute($params);  
 }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 }
}

/**
*la function qui va nous permettre d'afficher l'info-bulle des messages
*/
function afficher_ibi_messages(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_conversation) as NB
         FROM conversations
         WHERE pseudo_dest=:pseudo_session
      OR (pseudo_exp=:pseudo_session > date_vue) ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params);  
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705 > Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020
Modifié par jordane45 le 29/06/2015 à 22:03
Tu as déjà eu ce message d'erreur... c'est lié à tes noms de variables ....

bon.. essaye avec ça :
function afficher_ibi_invitations(){
 global $bdd;
 $result=0;
 //Variables
 $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;

 if($pseudo_session){
  $sql = "SELECT COUNT(id_invitation) as NB
         FROM amis 
         WHERE (date_vue = '0000-00-00 00:00:00' 
           OR date_confirmation < date_vue )
          AND pseudo_dest= :pseudo_session ";

   // je place les  params dans une variable avant de l'utiliser :
  $params = array(':pseudo_session' => $pseudo_session);
  try{
    $query = $bdd->prepare($sql);
    $query ->execute($params); 
    $req= $query->fetchall();
   
   $result= count($req)>0 ? $req[0]['NB']:0;
   
   }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 } // Fin du  if($pseudo_session)
 // le return
 return $result;
}
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10
Modifié par Zakarya93 le 29/06/2015 à 22:28
http://www.noelshack.com/2015-27-1435609611-erreur.jpg

le date_vue fonctionne dans la table mais pas sur le site!!
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705
30 juin 2015 à 00:02
Tu peux nous remontrer le code qui te sert à mettre à jour la date_vue ?
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705 > jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024
Modifié par jordane45 le 30/06/2015 à 00:04
On est d'accord que tu utilises bien cette fonction :
//la function qui va nous permettre de mettre à jour la date_vue dans la bdd pour pouvoir cacher l'info-bulle 
*/
function update_date_vue(){
 global $bdd;
  //récupération des variables PROPREMENT !
  $pseudo_session = isset($_SESSION['pseudo'])?$_SESSION['pseudo']:NULL;
 if( $pseudo_session){
  $sql = "UPDATE amis
             SET date_vue=NOW()
             WHERE pseudo_dest = :session_pseudo 
              AND active=0";

  // je place les  params dans une variable avant de l'utiliser :
  $params = array(':session_pseudo' =>  $pseudo_session);
  try{ 
   $query = $bdd->prepare($sql);
   $query ->execute($params);  
 }catch(Exception $e) {
     echo "<br>ERREUR ! ".$e->getMessage()."<br>";
     echo "<br>params : <br>";
     print_r($params);
   }
 }
}
0
Zakarya93 > jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024
30 juin 2015 à 00:08
oui oui
0
jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024 4 705 > Zakarya93
30 juin 2015 à 00:14
Exactement le même ??? Oo ??
Tu es sûr ??
0
Zakarya93 Messages postés 984 Date d'inscription lundi 27 avril 2015 Statut Membre Dernière intervention 18 décembre 2020 10 > jordane45 Messages postés 38317 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2024
30 juin 2015 à 16:24
sur à 100%
0