Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Mitnick8

PHP Mensagem como lido \ não lido

Recommended Posts

Bom dia,

 

             Estou criando um portal de avisos e estou precisando criar uma função que marque as mensagens que foram criadas como não lidas, após o usuário clicar e visualizar a mensagem ficar marcado como mensagem lida. Um exemplo seria o fórum, quando alguém cria um tópico novo, aparece para os usuários que há algum novo, entretanto após clicar fica como lido, mas para o usuário que clicou, os outros que não clicaram fica como não lido.

 

           Estou sem nenhuma lógica pra criar, se alguém puder me dar uma luz agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É só implementar no banco de dados, na tabela das mensagens, o atributo lido: char, e quando o usuário clicar ma mensagem escreve no banco no atributo lido, o valor 's'. Mas quando for listar as mensagens terá que ler esse atributo para marcar as mensagens como lidas ou não lidas, geralmente as não lidas podem ficar em negrito, é só recuperar o valor, colocar em uma variável javascript e fazer um if: se 's', sem negrito, se 'n', negrito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas tem alguma ideia de como fazer, já que teria que ser para cada usuário.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Mitnick8 Basicamente a solução do colega é bem válida e funciona da seguinte forma:

 

Você terá uma tabela no banco de dados chamada mensagens

Nele terá os seguintes campos:

  • ID auto increment INT 11 Primary Key
  • ID_remetente INT 11 Foreign Key
  • ID_destinatario INT 11 Foreign Key
  • Mensagem MEDIUMTEXT 
  • Data DateTime
  • Lido TINYINT

Populado ficaria assim:

 

ID ID_remetente  ID_destinatario Mensagem       Data                 Lido
1      1              2          Olá como vai?  2018-06-09 21:47:00   0

No momento que o destinatário abrir a mensagem, você faz um UPDATE no campo "Lido"  para "1"  Porque? O tipo TINYINT recebe  zero ou um. Zero = false   um = true

 

Então a instrução SQL seria:

UPDATE mensagens
SET Lido = 1
WHERE ID_destinatario = 2

 

O messenger do Facebook funciona assim!

Editado por DiF

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário






Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×