Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2010, 05:50
Squash
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 16 años, 7 meses
Puntos: 0
Super Novato :P

Hola, quiero traducir algunos campos de mi base de datos, mediante un script en php ayudandome de Google API translate.

En mi base de datos tengo una tabla: POSTS, y muchos campos en ella, de los cuales solo quiero actualizar 3: TITULO, CONTENIDO, y RESUMEN, estan en una misma fila bajo un mismo ID.

Tengo problemas con mysql, no se como asignarle a una variable, el valor del campo de la base de datos, para luego llevarlo a al traductor, y tampoco como hacer el UPDATE para actualizar ese campo con el valor traducido.

La funcción de traducción funciona bien, la podeis encontrar http://www.codediesel.com/downloads/GoogleTranslate

Mi borrador es el siguiente:

Código PHP:
<?php
include('conectar.php'); 
require_once(
'googleTranslate.class.php');
$db = conectar();
  
/* Initialize the class translate class */
/* translate(string, to_language, from_language) */
/* $gt->translate($titulo , "es", "en"); */
$gt = new GoogleTranslateWrapper();

/* quiero hacer un bucle,
un while ID de mi tabla llega al valor 2500, que es el 
ID del ultimo post*/

/* ESTO SERIA MI BORRADOR no tengo idea de MySQL y php */
$ID = 0; 
while (
id < 2500){

/* No se como asignarle a una variable el valor de un campo de mi tabla*/
      
$titulo_a_traducir = SELECT titulo FROM posts WHERE ID='$ID';
                      
$titulo_traducido = $gt->translate($titulo_a_traducir , "es", "en");
                      
delay = 5s; /* para dejar que google traduzaca */
                      
UPDATE titulo FROM posts WHERE ID='$ID' con $titulo_traducido;
                      
                     
      
$contenido_a_traducir = SELECT contenido FROM posts WHERE ID='$ID';
                      
$contenido_traducido = $gt->translate($contenido_a_traducir , "es", "en");
                      
delay = 5s; /* para dejar que google traduzaca */
                      
UPDATE contenido FROM posts WHERE ID='$ID' con $contenido_traducido;
                      
      
$resumen_a_traducir = SELECT resumen FROM posts WHERE ID='$ID';
                      
$resumen_traducido = $gt->translate($resumen_a_traducir , "es", "en");
                      
delay = 5s; /* para dejar que google traduzaca */
                      
UPDATE resumen FROM posts WHERE ID='$ID' con $resumen_traducido; 
                      
                      echo 
$ID;
       
/* ¿ hace falta Limpiar las variables: $titulo_a_traducir $titulo_traducido
                                $contenido_a_traducir $contenido_traducido
                                $resumen_a_traducir  $resumen_traducido ?*/
       
$ID = $ID + 1;
       }  
       
       echo 
TERMINADO;                                            
?>
conectar.php

Código PHP:

<?php
function conectar()
{
$base_de_datos = "mi_db";
$db_usuario = "root";
$db_password = "contraseña";

if (!(
$link = mysql_connect("localhost", $db_usuario, $db_password)))
{
echo 
"Error conectando a la base de datos.";
exit();
}
if (!
mysql_select_db($base_de_datos, $link))
{
echo 
"Error seleccionando la base de datos.";
exit();
}
return 
$link;
} 
?>

Última edición por Squash; 09/03/2010 a las 07:45