Ir para conteúdo
Fórum Script Brasil
  • 0

QUIZ - Perguntas e Respostas | Dúvida


Glayder

Pergunta

A minha ideia é fazer um sistema de decoração de palavras em inglês, o usuário cadastra, por exemplo, a palavra "good" e" bom". Na tela apareceria a palavra "good" e através de uma input text ele escreve a tradução "bom" e então apareceria a mensagem de PARABÉNS!

O problema é que quando a palavra em inglês é trazida, quando eu coloco a tradução e submeto a input  a página trás outras palavra em inglês aleatória, ex:
A pagina trouxe "good". 
Quando coloco a palavra "bom" e submeto.
A página trás a palavra "very".
O php compara então "bom" com "muito(very)".

 

<form action="" method="post" name="busca">
    <input type="text" name="name" >
    <input type="submit" name="busca" value="Buscar">
</form> 
$numAleatorio = mysql_query("SELECT * FROM produto order by rand() limit 1"); //pegando palavras aleatórias no banco
$row = mysql_num_rows($numAleatorio);
$comparar = $_POST['name']; //input para comparar com a variável trazida do banco

if ($row > 0) {    
    echo "<strong>Nomes Aleatórios:</strong>";
    while ($linha = mysql_fetch_assoc($numAleatorio)) {        
        $nomeIngles = $linha['nome'];
        $traducao = $linha['traducao'];
        echo '<br/>'.$nomeIngles;
        if ($traducao == $comparar) {
            echo "<br>PARABÉNS!";
        }else{
            echo "<br>Resposta errada, tente novamente!";
        }
    }    
}

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Boa noite, para você verificar se a tradução é correta você poderia fazer a consulta com essa restrição.

Exemplo de uma consulta pela tradução

$sql="SELECT * FROM produto WHERE name='{$nome}' AND traducao='{$traducao}' limit 1";

Nesse exemplo iria retornar um registro se a tradução estiver correta, caso contrário não iria retornar nenhum registro.

Algumas observações.

Notei que você está utilizando algumas funções obsoletas, tipo mysql_connect().

Uma boa prática é você não utilizar esse tipo de função, atualmente a PDO é muito recomendada nos artigos, é simples e prática.

Um exemplo do pdo

<?php
 
//Dados de acesso
$host = "Nome_do_Host";
$dbn  = "Nome_da_Base";
$user = "Nome_do_Usuário";
$pass = "Senha_da_Base";
 
$tabela = "produto";
 
try
{
	//Conectar
	$ligacao = new PDO("mysql:dbname=$dbn; host=$host", $user, $pass);
	$ligacao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 
	//Em caso de pesquisas, via procedures
	//$pesq = "";
	//$sql = "CALL Nome_da_procedure()";
 
	//Em caso de querys
	$sql = "SELECT * FROM $tabela WHERE nome= :nome AND traducao= :traducao";
 
	$resultados = $ligacao->prepare($sql);
 
	//Definição de parâmetros
	$resultados->bindParam(":nome", $nome, PDO::PARAM_STR);
  	$resultados->bindParam(":traducao", $traducao, PDO::PARAM_STR);
	$resultados->execute();
 
	echo'<p>'.$sql.'</p><hr>';
 
	foreach($resultados as $linha)
	{
		echo '<p>';
		//Nome do campo na tabela pesquisada
		echo $linha["Nome_da_Coluna"];
		echo '</p>';
	}
 
	echo '<hr><p>Resultados: '.$resultados->rowCount().'</p>';
 
	//Desconectar
	$ligacao = null;
}
catch(PDOException $erro)
{
	echo $erro->getMessage();
}
 
?>

até mais

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...