Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - M4nu

Páginas: [1]
1
PHP / Averiguar si existe comentario en BD procedentes de un feed externo
« en: 06 de Noviembre de 2013, 12:09:53 pm »
Buenas, tengo una duda, cómo puedo comprovar si existe en una tabla de mi BD comentarios que me llegan desde un feed externo.
Lo que quiero hacer es un script en php, que compruebe si hay algún comentario que ya exista en la tabla y en ese caso, no insertarlo, adjunto el script, ando un poco perdido, no se si podría usar alguna cláusula where, lo que pasa es que no puedo hacer la comparación con nada, porque no puedo acceder a la tabla en la que están almacenados los datos que me llegan y hacer la comparación con el comentario en texto me parece una mala idea, ya que pueden haber dos comentarios iguales, de personas distintas.
Este es el script:
Código: [Seleccionar]
<?php require(&#39;includes/application_top.php&#39;); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>importador de comentarios de productos de ekomi</title>
</head>

<body>
<?php 
$opinions file_get_contents(&#39;URL del feed&#39;);
//var_dump($opinions);
//Guarda por cada línea hasta el primer espacio siempre que no esté dentro de una cadena.
preg_match_all(&#39;~(.*)\s+~&#39;,$opinions,$opinionsAux2);
//var_dump($opinionsAux2);
$opinions $opinionsAux2[0];
//var_dump($opinions);
//exit();
foreach($opinions as $opinion){        
$opinion explode(&#39;,&#39;,$opinion);
$opinion[4] = str_replace("&#39;",&#39;&#39;,$opinion[4]);
$opinion[5] = str_replace("&#39;",&#39;&#39;,$opinion[5]);
$opinion[6] = str_replace("&#39;",&#39;&#39;,$opinion[6]);
$opinion[7] = str_replace("&#39;",&#39;&#39;,$opinion[7]);
//echo trim($opinion[0]).&#39; &#39;. $opinion[1]. &#39; &#39;.trim($opinion[2]).&#39; &#39;.trim($opinion[3]).&#39; &#39;.str_replace(&#39;"&#39;,&#39;&#39;,$opinion[4].$opinion[5].$opinion[6]).&#39;<br/>&#39;;
//exit();

$total mysql_num_rows(mysql_query("SELECT id FROM `mi_BD`.`ekomi-productos` WHERE id=&#39;$variable&#39;"));
if($total==0){
tep_db_query("INSERT INTO  `mi_BD`.`ekomi-productos` (
`id` ,
`tiempo` ,
`id_pedido` ,
`id_producto` ,
`estrellas` ,
`opinion`
)
VALUES (
NULL,  &#39;"
.trim($opinion[0])."&#39;,  &#39;".$opinion[1]."&#39;,  &#39;".trim($opinion[2])."&#39;,  &#39;".trim($opinion[3])."&#39;,  &#39;".str_replace(&#39;"&#39;,&#39;&#39;,$opinion[4].$opinion[5].$opinion[6].$opinion[7])."&#39;
);");

echo &#39;Nuevos comentarios de ekomi insertados&#39;;
}else{
echo &#39;No hay nuevos comentarios para insertar en BD&#39;;
}
}
?>

</body>
</html>


Saludos y espero que esto no sea muy obvio. Gracias.

2
PHP / Re:Traspasar registros de una tabla a otra
« en: 29 de Septiembre de 2013, 18:05:13 pm »
Sé que no te daré una respuesta válida en teoría, pero te recomiendo MUCHO no usar PHP para ninguna exportación o importación de bases de datos, tarda mucho y es un proceso que consume muchos recursos del sistema.
Si tienes acceso a una consola de comandos/terminal te recomiendo hacer un script o utilizar una aplicación consola programada por ti, eso te ahorrará bastante tiempo. Todo ésto te lo digo por experiencia, lo que hace el interprete de PHP en 1 hora lo puedes hacer en 10 minutos con la consola o la terminal, y si lo haces como una aplicación web tardará mucho más, últimamente yo únicamente utilizo la terminal o la consola para este tipo de tareas ya que manejar bases de datos muy grandes es una tarea que se dificulta por la información.

Saludos y suerte.

Te refieres a programar una aplicación para Linux (el server es linux) para pasar el contenido de una tabla a otra?, el problema es que ni idea de programación en Linux y ¿de que forma podría ejecutarla?.

La idea era hacerlo con PHP, que más o menos empiezo a entender que hace cada parte del script, pero ni idea de cómo hacer que funcione correctamente, l tiempo que tarde a no ser que sea simple de implementar lo que dices, no me preocupa mucho.

Ya dirás algo sobre esto, me parece interesante la opción, pero ni idea de si es viable.

Saludos y gracias por los aportes.

3
PHP / Re:Traspasar registros de una tabla a otra
« en: 28 de Septiembre de 2013, 14:05:31 pm »
Pues si puedes postearlo antes del Lunes, si no me miro tu script del post que mencionabas: http://www.phperos.net/foro/index.php?topic=5732.msg41890#msg41890

Muchas gracias y cualquier aportación os la agradeceré.

4
PHP / Re:Traspasar registros de una tabla a otra
« en: 27 de Septiembre de 2013, 10:16:27 am »
Estoy probando con este pero no me añade los registros:

Código: [Seleccionar]
<?php

// Si la base de datos tiene muchos datos habilitar esto
set_time_limit(0);


header(&#39;Content-type: text/plain&#39;);

$conexion mysql_connect(&#39;localhost&#39;, &#39;root&#39;, &#39;mi_contraseña&#39;);

// De que base de datos vamos a tomar las tablas
$db_from = &#39;bd_origen&#39;;
// A que base de datos vamos a migrar las tablas
$db_to = &#39;bd_destino&#39;;
// Con los datos o no
$data true;


// Leemos todas las tablas de db_from
$sql "SHOW TABLES FROM $db_from";

$result mysql_query($sql);

$list_tables = array();
while (
$row mysql_fetch_assoc($result))
{
   
$list_tables[] = current($row);
}

// Migramos las estructuras de las tablas
foreach ($list_tables as $tbname)
{
   
$sql "CREATE TABLE IF NOT EXISTS $db_to.$tbname LIKE $db_from.$tbname";
   
$result mysql_query($sql);
   if (
$result)
   {
      echo 
"Migrada la estructura de la tabla $db_from.$tbname a $db_to.$tbname \n";
   }

}

// Si data es true pasamos los datos de cada tabla vieja a la nueva
if ($data)
{
   echo 
"Comienza la migracion de datos \n";
   foreach (
$list_tables as $tbname)
   {
      
$sql "INSERT INTO $db_to.$tbname SELECT * FROM $db_from.$tbname";
      
$result mysql_query($sql);
      if (
$result)
      {
         echo 
"Migrados datos de la tabla $db_from.$tbname a $db_to.$tbname \n";
      }
   }
   echo 
"Termina la migracion de datos \n";
}

?>

He pensado que el hecho de que no muestre errores pero que no inserte los registros pueda deberse a que la tabla destino tiene 32 campos y la origen 21, si podéis hecharme una mano con lo que debería modificar para que funcionara.

Comentar también que solo tengo una tabla en cada base de datos y se llama igual, por tanto en principio debería funcionar esto (reconozco que es presumir mucho), pero voy bastante perdido.

Gracias.

5
PHP / Traspasar registros de una tabla a otra
« en: 25 de Septiembre de 2013, 21:43:32 pm »
Buenos noches, pongo este post aunque supongo que habrá mucha información al respecto, pido disculpas de antemano.

Me explico, debo volcar toda la información referente a users de una tabla de una base de datos a otra que será la que se pase a utilizar.

Mi pregunta es si me podrías mostrar un ejemplo de script que inserte todos los registros de una tabla (customer) a otra tabla también llamada customer de otra bd, aunque la tabla destino tenga más campos que la origen, por ejemplo, la tabla customer destino tiene 32 campos y la origen 21, aunque tienen campos comunes las dos.

Saludos y posteo esto porque es una tarea que me han encasquetado y es urgente, si necesitáis que facilite o explique mejor cualquier cosa no dudéis en decirlo

Saludos y si pudierais ayudarme os lo agradecería mil.

6
Presentaciones / Buenas a todos
« en: 10 de Septiembre de 2013, 23:31:05 pm »
Hola, muy buenas a todos, me interesa mucho aprender PHP y javascript, PHP sobre Codeigniter, aunque supongo que no irá mal empezar con PHP puro, me recomendaís empezar usando CodeIgniter?.
Y bueno, tengo 26 años y espero poder encontrar algún trabajo relacionado con la programación web.

Saludos.
Manuel.

Páginas: [1]