Ir ao conteúdo
  • Cadastre-se
Yuki Hashimoto

PHP RESOLVIDO Como exibir uma variável puxada do Mysql?

Recommended Posts

Olá,

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

Tenho uma variável $perfil que recebe João do banco de dados.

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 pois os usuários podem editar essa mensagem. 

 

A parte do meu códico: 

<?php //códico para conectar ao BD e puxar os dados 
  include("conexao.php");
  $consulta = "SELECT * FROM cadastro WHERE cadastro.usuario = '$user'";
  $con      = $conexao->query($consulta) or die($conexao->error);
?> 

<?php 
   while($dado = $con->fetch_array()) { 
?>
    <tr>
        <td>
            <?php echo $dado['nome']; 
                $teste_nome = $dado['nome']; //Aqui pega do BD o nome e salva na variável
            ?>
       </td>
      
       <?php //códico para a mensagem 
            $consulta2 = "SELECT * FROM mensagem WHERE mensagem.usuario = '$user'";
            $con2      = $conexao->query($consulta2) or die($conexao2->error);
            while($dado2 = $con2->fetch_array()) { 
                $mensagem = $dado2['mensagem']; //Aqui puxa a mensagem do BD "Olá $teste_nome"
            };   
        ?>
      
      <td><?php echo $dado['telefone']; ?></td>
      <td> 
        <a href="https://api.whatsapp.com/send?phone=55<?php echo $dado['telefone'] ?>&text=<?php echo $mensagem; ?>">
            Enviar Mensagem
        </a> 
      </td> 
    </tr>
<?php }; //fechamento no While
?> 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Yuki Hashimoto Bom dia!

 

50 minutos atrás, Yuki Hashimoto disse:

uma varchar escrita "Olá $nome" e salvo na variável $mensagem.

 

Provavelmente você terá que por   "Olá ".$nome   pois assim você irá concatenar a frase "Olá " com o que está contido dentro da variável $nome.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, obrigado por responder más infelizmente não deu certo :( 

 

Fiz um resumo aqui do códico para facilitar: 

 

<?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? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim daria certo, más não serve porque o $nome pode vim em qualquer lugar da frase, como é 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 :( 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se esse é o caso, você pode usar o str_replace e substituir o nome na string

 

<?php
echo str_replace("$nome",$nome,$mensagem);

 

  • Curtir 1
  • Obrigado 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Yuki Hashimoto Por ser iniciante, muitas pessoas tem este mesmo tipo de problema.

O que o @Leonardo0308  indicou é o recomendado.

 

Você tem que concatenar a variável "final" com o que você quer. Podes até usar uma função para isso.

Exemplo hipotético:

$nome = "joão";

$mensagem = "Olá ";
	
	function juntaTudo($mensagem, $nome){
	 return  $concatenado = $mensagem . $nome;	
	 	
   } 

echo juntaTudo($mensagem, $nome);

Ou usar  a função do str_replace() indicada pelo colega acima.

 

2 horas atrás, Yuki Hashimoto disse:

$nome pode vim em qualquer lugar da frase, como é o usuário que decide a $mensagem

O problema disso é que não tem como saber a posição exata. No caso você vai ter que fazer sair apenas de uma maneira, não importando como o usuario escreve.

 

Se quiser algo mais complexo, teria que fazer algumas condicionais, para cada tipo de situação.

  • Curtir 1
  • Amei 1

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

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





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

×