Verificador de Msg novas em php

22/11/2014

0

PHP

Boa noite! para ti que estas lendo esta Msg.

Estou com alguma dificuldade de como escrever um trecho de código que verifica se existe uma nova msg no banco.
estou fazendo isto de maneira dinâmica sempre que vou registrando um novo ele mostra o registro
sem rodar de novo a página, estou usando o ajax para fazer a requisição do documento que tem os procedimentos
de consulta no DB e a funçao setInterval para executar em cada um segundo até ali ele está funcionando bem!
mas eu quero que sempre que registrar nova msg primeiro me retorne um alert como por exemplo você tem uma nova
nova msg e só depois mostra a msg, não tenho uma noção de como fazer isto alguém pode me ajudar por favor estou mesmo
necessitando para um trabalho importante na escola.

estou passando o código para vocês analisarem obrigado

O script que faz a requisição do documento que tem os procedimentos da consulta no DB
 
function requisitar(){
            var xmlhttp;
            if (window.XMLHttpRequest)
            {// code for IE7+, Firefox, Chrome, Opera, Safari
                 xmlhttp=new XMLHttpRequest();
            }
            else 
            {// code for IE6, IE5
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function()
            {
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {                
                				document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
                   
				}
            }
            xmlhttp.open("GET","myfile.php",true);
            xmlhttp.send();
        }

        window.setInterval(requisitar, 1000);
 




Faz consulta no banco e mostra as msg
<?php
    include("conexao_dba_php.php");
  session_start();
  
  
	
$verifcar = mysqli_query($conexao, "SELECT mensagem,id_usuario,id_para FROM msg where id_para='$id_usuario' ") or print(mysqli_error($conexao));	 
       $row = mysqli_num_rows($verifcar);
	   
  if($row > 0){
  while($resultado = mysqli_fetch_object($verifcar)):
    
    echo "Enviado por $resultado->id_usuario</p>";
	 echo"<div style='border:ridge;background-color:#fff'>";echo "$resultado->mensagem "; 	 echo"</p>";echo"</div>";
	 echo"</p>";
	echo"<a href='formulario_Msg.php'>Responder</a>"; echo"</p>";
   
   endwhile;
  }

    
  ?>
Israel Bango

Israel Bango

Responder

Posts

23/11/2014

Wellington Silva

Coloque mais um campo na sua tabela, por exemplo:
status tinyint(1)


E verifica no seu código o campo status, 1 para nova mensagem e 0 para mensagens ja lidas.
A partir dai é só emitir um alerta caso o status seja 1
Responder

23/11/2014

Israel Bango

Obrigado Wellington R. da Silva já adicionei o campo na minha tabela
mas como faço para verificar? quando uma nova msg estiver no banco
este campo que adicionei recebe o valor de 1? ou gravo sempre o valor neste campo
sempre que eu for enviar uma msg?
por favor se der para escrever um trecho básico do código por favor!
Responder

23/11/2014

Wellington Silva

Isso, no seu script que insere a mensagem no banco de dados vc acrescenta esse campo que criou e define o valor de 1 como padrao.
E quando vc ler a mensagem vc faz um update mudando para 0.

Lembrando que existe formas melhores de resolver o seu problema, citei uma que acho mais simples de explicar pois não estou na frente do PC.
Responder

23/11/2014

Israel Bango

Okay! Obrigado Wellington R. da Silva vou tentar implementar com as dicas que me deste!
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar