Foros del Web » Programando para Internet » PHP »

Obtener categorias de rss e insertar en DB

Estas en el tema de Obtener categorias de rss e insertar en DB en el foro de PHP en Foros del Web. Hola, tengo una serie de blogs en local y quiero extraer los articulos para publicarlos en otra plataforma, la manera más simple me parecio por ...
  #1 (permalink)  
Antiguo 01/03/2015, 20:27
 
Fecha de Ingreso: marzo-2010
Mensajes: 41
Antigüedad: 14 años, 1 mes
Puntos: 0
Obtener categorias de rss e insertar en DB

Hola, tengo una serie de blogs en local y quiero extraer los articulos para publicarlos en otra plataforma, la manera más simple me parecio por rss, pero tengo problemas para extraer etiquetas duplicadas, en este caso las categorias y etiquetas.

Encontre un codigo en este foro para esta tarea que funciona bien pero le agregue el codigo para extraer las categorias y nada. Os lo pego:

Código PHP:
Ver original
  1. foreach($doc->getElementsByTagName($tag) AS $node) {    
  2.             foreach($array AS $key => $value) {
  3.                 $items[$value] = $node->getElementsByTagName($value)->item(0)->nodeValue;
  4.             }
  5.         $cats = $node->getElementsByTagName("category");
  6.                 foreach ($cats as $a) {
  7.                      echo $a->nodeValue. ", ";
  8.                  }

Si lo pongo asi el echo me mustra las categorias correctamente en pantalla, las de cada articulo por fila separadas por coma, pero si la cambio por:

Código PHP:
Ver original
  1. foreach($doc->getElementsByTagName($tag) AS $node) {    
  2.             foreach($array AS $key => $value) {
  3.                 $items[$value] = $node->getElementsByTagName($value)->item(0)->nodeValue;
  4.             }
  5.         $cats = $node->getElementsByTagName("category");
  6.                 foreach ($cats as $a) {
  7.                      $items['category'] = $a->nodeValue. ", ";
  8.                  }

para luego agregarla a la consulta mysql

Código MySQL:
Ver original
  1. sql = 'INSERT INTO p_borradores (b_user, b_title, b_body, b_tags) values (1, \''.$items['title'].'\', \''.$items['link'].'\', \''.$items['category'].'\')';

Solo inserta la última categoria del item. ¿Porque pasa esto? ¿Me podrían ayudar con la solucion?
__________________
Saludos desde amigos only wit
  #2 (permalink)  
Antiguo 03/03/2015, 11:35
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Obtener categorias de rss e insertar en DB

Código PHP:
$items['category'] = $a->nodeValue", "
Estás sobreescribiendo todo el rato el valor de category

Código PHP:
$items['category'] .= $a->nodeValue", "
Con '.=' concatenas lo que hay con lo nuevo

Etiquetas: categorias, mysql, rss, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:23.