Recuperer dernier message d'une BDD avec requete

Utilisateur anonyme - 28 juin 2006 à 16:52
 Utilisateur anonyme - 28 juin 2006 à 20:38
Bonjour à tous,

Voila, j'ai un mini-chat, dans le quel les gens poste des messages, or lorsque l'on tape sur F5,c'est a dire la touche rafraichir, le dernier message se voit rerentrer dans la BDD donc j'ai 2 fois la message à l'ecran et dans ma base !
J'aimerais donc pouvoir faire un truc du genre: si le message rentré = le dernier message de la base, alors tu ne le prend pas

Et bien sur je n'y arrive pas

if (isset($_POST['pseudo']) AND isset($_POST['message'])) // Si les variables existent
{
    if ($_POST['pseudo'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
    {
        // D'abord, on se connecte à MySQL
        mysql_connect("localhost", "root", "");
        mysql_select_db("minichat");


        // On utilise la fonction PHP htmlentities pour éviter d'enregistrer du code HTML dans la table
        $message = htmlentities ($_POST['message']);
        $pseudo = htmlentities ($_POST['pseudo']);
  $heure = date('H:i:s');


        // Ensuite on enregistre le message
  
  ici je dois récuperer le DERNIER message de ma base et le comparer aux messages qui veut rentré et qui se trouve donc pour l'instant dans la variable $message, en sachant qu'il peut y avoir 2 fois le meme message s'il s'agit de 2 Pseudo different, mais ca il suffit de rajouter un AND pseudo='$pseudo'   je pense


  if ....
  {
   echo ("doublon");
  }
  else
  {
   echo ("pas doublon OK");
   mysql_query("INSERT INTO msnix VALUES('', '$pseudo', '$message', '$heure')");
        }


        // On se déconnecte de MySQL
        mysql_close();
    }


merci aux  testeurs

2 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
28 juin 2006 à 17:01
salut
d'abord tu controles si l'utilisateur a entré ce message 

$sql="select from msnix where pseudo='$pseudo' and message='$message' ";
$req=mysql_query($sql);
$nb=mysql_num_rows($req);

if ($nb!=0)
  { echo "doublon"; }
  else
  {
   echo ("pas doublon OK");
   mysql_query("INSERT INTO msnix VALUES('', '$pseudo', '$message', '$heure')");
  }
.
..

un truc dans le genre
0
Utilisateur anonyme
28 juin 2006 à 20:38
huhu lol, c'est exactement ce que j'avais fais au début, donc il me sort un nombre, si ce nombre est différent de 0 ca veut dire qu'il y a une répétition donc on refuse,mais le probleme qui arrive par la suite, c'est que si le meme utilisateur rentre la meme phrase (genre: lol, haha, mdr, tu pus), elle sera compter comme un doubon et donc refuser....!!!!!
Et c'est la que je me suis arreter et que j'ai poster pour de l'aide
0
Rejoignez-nous