Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

julio.lage

Associar palavra a imagem usando array e explode

Recommended Posts

Bom dia, pessoal

Estou com um problema e não consigo resolvê-lo de jeito nenhum. Preciso fazer um chat na qual um usuário digita uma mensagem e as palavras contidas nessa mensagem sejam exibidas de acordo com a imagem referente às mesmas pra outro usuário. Poderiam me ajudar?
OBS. A tabela no banco chama-se "associacao" e possui os campos "id", "palavra", "imagem".

 
<?php
include "conecta_db.php";
?>
<html>
<head></head>
<body>
<div>
             
        <h1> Teste com a função explode</h1>
        <form action="explode.php" method="POST">
            <div>
            <label>Digite o texto:</label><br>
            <input type="text" name="txtMensagem">
            </div>
            <input class="bt" type="submit" value="Enviar">
        </form>
    <div>
    
 <?php
    if($_POST){
           $texto = $_POST['txtMensagem'];
                $palavras = explode(" ", $texto);
                //Usando o comando "foreach" concateno os dados de cada posição deste array
                //afim de criar a condição que será passada para o comando SQL
 
                //Variável que guardará a condição
                $cond = null;
                foreach($palavras as $ids){
                                     $cond = $ids.','; //coloco uma vírgula após cada posição lida
                                    }
                //Pegamos o tamanho da variável "$cond"
                $size = strlen($cond);
                //Retiro a vírgula qu eficou no final da string e tenho a condição completa
                $condicao = substr($cond,0,$size-1);
                
                //A query fica assim:
                $sql=mysql_query("select * from associacao where palavra in($condicao)");
                
                while($row = mysql_fetch_array($sql)) {
                                                 // Escreve o valor da coluna imagem (que está no array $row)
                                                 echo $row['imagem'] "<br />";
 
                                                }
               }
?>
 
    </div>
    </div>
    </body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua dúvida não está clara. Você quer realizar a substituição de strings por imagens? Aonde, no seu código, você quer realizar isso?

Outro ponto, leia Orientações e Regras do Fórum de PHP

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gabriel, quando a pessoa enviar uma mensagem(palavras) a mesma deverá exibir as imagens referentes a ela. Usei "explode" para colocar as palavras digitadas num array e em seguida faço uma pesquisa no banco afim de encontrar as imagens referentes às palavras contidas no array. Não consigo exibir nada!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste sua solução, ela pode ajudar futuramente quem tiver a mesma dúvida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.