GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Banco de dados e PHP


#1

Olá,

Sou novo em programação, por favor me ajudem, vou resumir:

Tenho uma variável $nome que recebe joão.

Puxo do meu banco de dados uma varchar escrita "Olá $nome " e salvo na variável $mensagem.

Quando coloco echo $mensagem; gostaria que escrevesse Olá João, más acaba escrevendo Olá $nome, como posso resolver isso? sendo que essa mensagem só pode ser puxada do BD.

(Desejo a solução disso porque é um sistema que envia mensagens para o WhatsApp que a pessoa salvou os números, e ela pode editar a mensagem padrão que será enviada, essa mensagem é salva no BD e se a pessoa quiser que seja enviado o nome da pessoa na mensagem eu criei um codico que salva os nomes na variável $nome, então tem que ter algum modo dela colocar algum tipo de códico para aparecer o NOME que ta salvo no BD, porque quando vem escrito $nome em tipo varchar do banco de dados ela não se torna uma variável no meu Php? )


#2

Pode mostrar o código onde preenche as variáveis $nome e $mensagem? Assim fica mais fácil tentar te ajudar.

Abraço.


#3

Fiz um resumo aqui:

<?php 
        include("conexao.php"); //conecta ao Banco de dados
        $consulta = "SELECT * FROM mensagem WHERE mensagem.usuario = 'matheus'";
        $con      = $conexao->query($consulta) or die($conexao->error); 
        while($dado = $con->fetch_array()) { 
            $mensagem = $dado['mensagem']; //Aqui salva a varchar "Olá $nome" 
        };  
        
        $nome = "João";
        echo $mensagem; //Aqui exibe "Olá $nome", más quero que escreva "Olá João" 
?>

Essa mensagem é o usuário que digita em um campo e fica salva no BD, daí preciso criar algum tipo de códico que quando ele digita na mensagem aparece o nome salvo na variável $nome, pensei que ele digitando apenas $nome já iria aparecer o nome salvo na variável, más aparece escrito exatamente $nome, como resolver?


#4

http://php.net/manual/pt_BR/language.operators.string.php


#5

Não da certo também, já tentei colocar no BD:

“Olá” .$nome

O problema é que a frase que salvo na variável $mensagem vem do BD, porque se eu colocar:

$nome = "João" ;
$mensagem = "Olá $nome"; 
echo $mensagem; 

Vai de boa, más preciso que a variável $mensagem venha do BD porque é o usuário que decide a $mensagem ele pode escreve por exemplo:

" Olá $nome, tudo bem? "

Más se tiver algum outro tipo de códico que ele escreve e aparece a variável $nome também serve, já tentei vários modos e ainda não consegui :frowning:


#6

Nesse caso é melhor vc deixar um coringa na mensagem no bd algo como:

"Olá #NOME#, tudo bem?"

E depois trocar usando replace:

$mensagemFinal = str_replace('#NOME#', $nome, $mensagemBD);
echo $mensagemFinal;

Algo nesse sentido, boa sorte


#7

Issssoo!!

Muito obrigado, a solução era usar o Replace mesmo, me ajudaram muito !