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

(Resolvido) Criando sistema Multilinguagem PHP / MYSQL


MCAsite

Pergunta

Pessoal estou tentando adaptar um sistema simples multilinguagem em mysql, mas não estou conseguindo fazer funcionar a funcao.

Minha Base Mysql:

--
-- Estrutura da tabela `idiomas`
--

CREATE TABLE IF NOT EXISTS `idiomas` (
  `textKey` varchar(50) NOT NULL,
  `textValue_pt` text NOT NULL,
  `textValue_es` text NOT NULL,
  `textValue_it` text NOT NULL,
  `lastUpdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  PRIMARY KEY (`textKey`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Extraindo dados da tabela `idiomas`
--

INSERT INTO `idiomas` (`textKey`, `textValue_pt`, `textValue_es`, `textValue_it`, `lastUpdate`) VALUES
('article', 'O texto em portugues', 'O texto em espanhol', 'O texto em italiano', '2011-09-20 17:27:30');
Arquivo php:
<?php

//crio uma sessao
session_start(); 
if ($_GET["idioma"]) { 
$_SESSION["idioma"]=$_GET["idioma"]; 
} elseif (!$_SESSION["idioma"]) { 
$_SESSION["idioma"]="pt"; 
} 

//conecto ao bd
$hostname = "localhost";
$database = "sitetranslation";
$username = "root";
$password = "vertrigo";
$conec = mysql_connect($hostname, $username, $password) or die(mysql_error());
$bd = mysql_select_db($database, $conec);

//busco o idioma da sessao
$SESSAO = ($_SESSION["idioma"]);

//funcao para buscar os textos no idioma da sessao
function getText($textKey)
    {
        $strQuery = mysql_query("SELECT textValue_$SESSAO FROM idiomas WHERE textKey='$textKey'");
        $myrow = mysql_fetch_array($strQuery);
        return $myrow["textValue_$SESSAO"];
        
    }

echo "<p><a href='index.php?idioma=pt'>Portugues</a></p>";
echo "<p><a href='index.php?idioma=es'>Espanhol</a></p>";
echo "<p><a href='index.php?idioma=it'>Italiano</a></p>";

//envia p/ a funcao o registro a busca o idioma e retorna o texto
echo getText("article");

?>

Se alguém estiver disposto em ajudar, desde já agradeço muito

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Muito bom cara... veja se funciona:

//funcao para buscar os textos no idioma da sessao
function pegarTexto($textKey,$sessao) {
    $strQuery = mysql_query("SELECT textValue_$sessao FROM idiomas WHERE textKey='$textKey'");
    echo "<pre>";
    print_r("SELECT textValue_$sessao FROM idiomas WHERE textKey='$textKey'");
    echo "</pre>";
    $myrow = mysql_fetch_array($strQuery);
    return $myrow["textValue_$sessao"];
}

echo "<p><a href='index.php?idioma=pt'>Portugues</a></p>";
echo "<p><a href='index.php?idioma=es'>Espanhol</a></p>";
echo "<p><a href='index.php?idioma=it'>Italiano</a></p>";

//envia p/ a funcao o registro a busca o idioma e retorna o texto
echo pegarTexto("article",$SESSAO);

você tem q passar a $SESSAO por parametro

da um grito se não funcionar

Link para o comentário
Compartilhar em outros sites

  • 0
Muito bom cara... veja se funciona:

//funcao para buscar os textos no idioma da sessao
function pegarTexto($textKey,$sessao) {
    $strQuery = mysql_query("SELECT textValue_$sessao FROM idiomas WHERE textKey='$textKey'");
    echo "<pre>";
    print_r("SELECT textValue_$sessao FROM idiomas WHERE textKey='$textKey'");
    echo "</pre>";
    $myrow = mysql_fetch_array($strQuery);
    return $myrow["textValue_$sessao"];
}

echo "<p><a href='index.php?idioma=pt'>Portugues</a></p>";
echo "<p><a href='index.php?idioma=es'>Espanhol</a></p>";
echo "<p><a href='index.php?idioma=it'>Italiano</a></p>";

//envia p/ a funcao o registro a busca o idioma e retorna o texto
echo pegarTexto("article",$SESSAO);
você tem q passar a $SESSAO por parametro da um grito se não funcionar
Kara, estou imensamente agradecido à sua ajuda, busquei muito por um sistema simples e funcional assim e ninguém consegui ou interessou em ajudar, por isso que meti a mao na massa e graças a sua ajuda resolvi meu problema, valeu mesmo. O codigo completo ficou assim:
<?php

//crio uma sessao
session_start(); 
if ($_GET["idioma"]) { 
$_SESSION["idioma"]=$_GET["idioma"]; 
} elseif (!$_SESSION["idioma"]) { 
$_SESSION["idioma"]="pt"; 
} 

//conecto ao bd
$hostname = "localhost";
$database = "sitetranslation";
$username = "root";
$password = "vertrigo";
$conec = mysql_connect($hostname, $username, $password) or die(mysql_error());
$bd = mysql_select_db($database, $conec);

//busco o idioma da sessao
$SESSAO = ($_SESSION["idioma"]);

//funcao para buscar os textos no idioma da sessao
function pegarTexto($textKey,$SESSAO) {
    $strQuery = mysql_query("SELECT textValue_$SESSAO FROM idiomas WHERE textKey='$textKey'");
    $myrow = mysql_fetch_array($strQuery);
    return $myrow["textValue_$SESSAO"];
}

echo "<p><a href='index.php?idioma=pt'>Portugues</a></p>";
echo "<p><a href='index.php?idioma=es'>Espanhol</a></p>";
echo "<p><a href='index.php?idioma=it'>Italiano</a></p>";

//envia p/ a funcao o registro a busca o idioma e retorna o texto
echo pegarTexto("article",$SESSAO);
echo "<br>";
echo pegarTexto("titulo",$SESSAO);

?>

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