Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2010, 05:50
Squash
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 10 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