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;
?>
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;
}
?>