andersonjob 0 Denunciar post Postado Dezembro 11, 2017 Fala amigos, tudo bem? Estou criando um sistema simples para a empresa que trabalho e queria colocar nele um sistema de mensagens entre os usuarios, algo que quando o funcionario efetua-se o login ele conseguisse ver todos os registros de mensagens só que com o destino pra ele, apenas liste mesmo inicialmente, eu to com um código q meio que rankeia os registros do banco de dados com base ACRESCENTE na ID.(para utilizar isso para ver as mais recentes primeiro) Só que não consigo exibir somente as mensagens para o determinado destinatario, neste codigo ela rankeia todos os registros . PS: Tentei inner join e WHERE e não funcionou, posso ter feito algo de errado, podem me ajudar? <div align="left"> <table> <tr> <span style="color:#000000;font-family:'Arial Black';font-size:13px;"> <th></th><th></th> <th></th> <th></th> <th></th> </span> <?php include("config.php"); $sql = mysql_query('Select * FROM user ORDER BY user.id DESC LIMIT 0,5'); $lista = 0; while($dado = mysql_fetch_array ($sql)) { $lista++; ?> <tr> <td><img src="<?php echo $dado['foto_perfil'];?>" width="45" height="45" /> </span></td> <div class="style1"><td><td><strong><span style="color:#FFFFFF;font-family:''Calibri Light';font-size:15px;"><?php echo $dado['nome']; ?></a></strong></span></td></div></td> <td><span style="color:#1E90FF;font-family:'Arial Black';font-size:13px;"></span></td> <td> <td> <td> <span style="color:#FF1493;font-family:''Calibri Light';font-size:18px;">R$<?php echo $dado['mensagem']; ?>,00</span></td> <?php } ?> </span> </table> </div> Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Dezembro 11, 2017 uma logica seria você criar uma tabela em seu banco de dados para armazenar as mensagens, incluindo os ids dos usuarios. na hora de exibir, normal, recupere as mensagens onde o id do destinatario seja igual ao id do usuario corrente, por exemplo. Citar PS: Tentei inner join e WHERE ai é SQL, amigo. sugiro que estude o tema mais a fundo. aqui vao uns links bem interessantes: https://www.google.com.br/search?q=sql+devmedia&ie=utf-8&oe=utf-8&client=firefox-b&gws_rd=cr&dcr=0&ei=tG4uWqbaO8ycwAS0uKlA obs: funçoes mysql* foram removidas; pesquise sobre PDO ou Mysqli. Compartilhar este post Link para o post Compartilhar em outros sites
andersonjob 0 Denunciar post Postado Dezembro 11, 2017 21 minutos atrás, Fernando C disse: uma logica seria você criar uma tabela em seu banco de dados para armazenar as mensagens, incluindo os ids dos usuarios. na hora de exibir, normal, recupere as mensagens onde o id do destinatario seja igual ao id do usuario corrente, por exemplo. ai é SQL, amigo. sugiro que estude o tema mais a fundo. aqui vao uns links bem interessantes: https://www.google.com.br/search?q=sql+devmedia&ie=utf-8&oe=utf-8&client=firefox-b&gws_rd=cr&dcr=0&ei=tG4uWqbaO8ycwAS0uKlA obs: funçoes mysql* foram removidas; pesquise sobre PDO ou Mysqli. SIm entendi e muito obrigado, só mais uma coisa, naquele método de salvar tudo em uma tabela,(mensagen, id do usuario, e etc..) Como eu faria para a consulta só exibir os resultados do usuario logado? Compartilhar este post Link para o post Compartilhar em outros sites
Gleyson Abreu 49 Denunciar post Postado Dezembro 11, 2017 2 horas atrás, andersonjob disse: SIm entendi e muito obrigado, só mais uma coisa, naquele método de salvar tudo em uma tabela,(mensagen, id do usuario, e etc..) Como eu faria para a consulta só exibir os resultados do usuario logado? Uma tabela seria Mensagens; Campos: id, mensagem, id_remetente , id_destinatario; Para puxar as mensagens então você vai fazer uma consulta no banco de dados onde id_destinatario = id da pessoa logado, isso puxaria todas as mensagens enviada ao usuário logado; Compartilhar este post Link para o post Compartilhar em outros sites
andersonjob 0 Denunciar post Postado Dezembro 12, 2017 20 horas atrás, Gleyson Abreu disse: Uma tabela seria Mensagens; Campos: id, mensagem, id_remetente , id_destinatario; Para puxar as mensagens então você vai fazer uma consulta no banco de dados onde id_destinatario = id da pessoa logado, isso puxaria todas as mensagens enviada ao usuário logado; sim mas é nisto q estou tendo difilculdades, como posso listar somente esses? pq nao posso simplesmente puxar um value $mensagem , se existe mais de 1 registro(mensagem) pro mesmo usuario?? ME AJUDA AII POR FAVORR Compartilhar este post Link para o post Compartilhar em outros sites
Gleyson Abreu 49 Denunciar post Postado Dezembro 12, 2017 2 horas atrás, andersonjob disse: sim mas é nisto q estou tendo difilculdades, como posso listar somente esses? pq nao posso simplesmente puxar um value $mensagem , se existe mais de 1 registro(mensagem) pro mesmo usuario?? ME AJUDA AII POR FAVORR Se entendi bem o que você quer, você vai utilizar o while para retorna todos os registros daquele usuário; ex: $sql = $pdo->prepare("SELECT * FROM mensagens WHERE id_destinario = 1"); // Pegando todas as mensagens destinadas ao usuário de ID N°1 $sql->execute(); if($sql->rowCount() == 0 ){ echo "Não há mensagens"; }else{ while($msg = $sql->fetch(PDO::FETCH_ASSOC)){ echo $msg['mensagem']."<br>"; } } Compartilhar este post Link para o post Compartilhar em outros sites
andersonjob 0 Denunciar post Postado Dezembro 13, 2017 Em 12/12/2017 at 11:43, Gleyson Abreu disse: Se entendi bem o que você quer, você vai utilizar o while para retorna todos os registros daquele usuário; ex: $sql = $pdo->prepare("SELECT * FROM mensagens WHERE id_destinario = 1"); // Pegando todas as mensagens destinadas ao usuário de ID N°1 $sql->execute(); if($sql->rowCount() == 0 ){ echo "Não há mensagens"; }else{ while($msg = $sql->fetch(PDO::FETCH_ASSOC)){ echo $msg['mensagem']."<br>"; } } <div align="left"> <table> <tr> <span style="color:#000000;font-family:'Arial Black';font-size:13px;"> <th></th><th></th> <th></th> <th></th> <th></th> </span> <?php include("config.php"); $sql = $pdo->prepare("Select * FROM notificacoes INNER JOIN user ON notificacoes.id_user = user.login WHERE id_user = '$login' ORDER BY notificacoes.id DESC LIMIT 0,100"); $sql->execute(); if($sql->rowCount() == 0 ){ echo "Não há mensagens"; }else{ while($dado = $sql->fetch(PDO::FETCH_ASSOC)){ $lista++; ?> <tr> <div class="style1"><td><td><strong><span style="color:#C71585;font-family:''Calibri Light';font-size:15px;"><?php echo $dado['notify_name']; ?></a></strong></span></td></div></td> <td><span style="color:#1E90FF;font-family:'Arial Black';font-size:13px;"></span></td> <td> <td> <td> <span style="color:#C71585;font-family:''Calibri Light';font-size:18px;">R$<?php echo $dado['desc']; ?>,00</span></td> <?php } ?> </span> </table> </div> Deu um erro aqui de suntax "Parce error : syntax error, unexpected end of file in .... Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Dezembro 13, 2017 aqui: }else{ while($dado = $sql->fetch(PDO::FETCH_ASSOC)){ você abriu 2 chaves; verifique se fechou as duas. a proposito: por gentileza, ajude-nos tambem, evitando postar HTML desnecessario mas exibindo se possivel as mensagens de erro completas. Compartilhar este post Link para o post Compartilhar em outros sites
andersonjob 0 Denunciar post Postado Dezembro 13, 2017 2 horas atrás, Fernando C disse: aqui: }else{ while($dado = $sql->fetch(PDO::FETCH_ASSOC)){ você abriu 2 chaves; verifique se fechou as duas. a proposito: por gentileza, ajude-nos tambem, evitando postar HTML desnecessario mas exibindo se possivel as mensagens de erro completas. Desculpa a falta de profissionalismo no forum, sou novo e aos poucos vou aprendendo as regras. Compartilhar este post Link para o post Compartilhar em outros sites
Gleyson Abreu 49 Denunciar post Postado Dezembro 13, 2017 7 minutos atrás, andersonjob disse: Desculpa a falta de profissionalismo no forum, sou novo e aos poucos vou aprendendo as regras. E ai o erro foi resolvido? continua com o erro? Você fechou as duas {{ que foram abertas? como o Fernando falou? 3 horas atrás, andersonjob disse: <?php } ?> Por que aqui está somente uma fechada. Compartilhar este post Link para o post Compartilhar em outros sites
Fernando C 128 Denunciar post Postado Dezembro 14, 2017 12 horas atrás, andersonjob disse: falta de profissionalismo ops.. foi mal, se fui grosseiro nao foi essa intenção, com certeza. aqui estamos todos aprendendo e nos ajudando, ok? Compartilhar este post Link para o post Compartilhar em outros sites
andersonjob 0 Denunciar post Postado Dezembro 14, 2017 1 minuto atrás, Fernando C disse: ops.. foi mal, se fui grosseiro nao foi essa intenção, com certeza. aqui estamos todos aprendendo e nos ajudando, ok? apareceu esse erro, só ocutei as informações da minha hospedagem Parse error: syntax error, unexpected end of file in /(meudominio) on line 42 <?php include("config.php"); $sql = $pdo->prepare("Select * FROM notificacoes INNER JOIN user ON notificacoes.id_user = user.login WHERE id_user = '$login'"); if($sql->rowCount() == 0 ){ echo "Não há mensagens"; while($msg = $sql->fetch(PDO::FETCH_ASSOC)){ echo $msg['mensagem']."<br>"; } ?> e esse foi o codigo q usei Compartilhar este post Link para o post Compartilhar em outros sites
Gleyson Abreu 49 Denunciar post Postado Dezembro 14, 2017 <?php include("config.php"); $sql = $pdo->prepare("Select * FROM notificacoes INNER JOIN user ON notificacoes.id_user = user.login WHERE id_user = '$login'"); $sql->execute(); if($sql->rowCount() == 0 ){ echo "Não há mensagens"; }else{ while($msg = $sql->fetch(PDO::FETCH_ASSOC)){ echo $msg['mensagem']."<br>"; } } ?> Tente desde jeito acima pelo que vi só está faltando fechar uma } que foi aberta e não foi fechada. https://pt.stackoverflow.com/questions/51002/script-retornando-parse-error-syntax-error-unexpected-end-of-file da uma olhada neste tópico la diz oque pode causar "unexpected end". Compartilhar este post Link para o post Compartilhar em outros sites
andersonjob 0 Denunciar post Postado Dezembro 14, 2017 8 horas atrás, Gleyson Abreu disse: <?php include("config.php"); $sql = $pdo->prepare("Select * FROM notificacoes INNER JOIN user ON notificacoes.id_user = user.login WHERE id_user = '$login'"); $sql->execute(); if($sql->rowCount() == 0 ){ echo "Não há mensagens"; }else{ while($msg = $sql->fetch(PDO::FETCH_ASSOC)){ echo $msg['mensagem']."<br>"; } } ?> Tente desde jeito acima pelo que vi só está faltando fechar uma } que foi aberta e não foi fechada. https://pt.stackoverflow.com/questions/51002/script-retornando-parse-error-syntax-error-unexpected-end-of-file da uma olhada neste tópico la diz oque pode causar "unexpected end". exibiu o seguinte erro com esse código que postasseFatal error: Call to a member function prepare() on a non-object in on line 25 ( que no caso seria essa $sql = $pdo->prepare("Select * FROM notificacoes INNER JOIN user ON notificacoes.id_user = user.login WHERE id_user = '$login'"); Compartilhar este post Link para o post Compartilhar em outros sites