Jump to content
Fórum Script Brasil
  • 0

(Resolvido) Criando sistema Multilinguagem PHP / MYSQL


MCAsite

Question

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 to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...