Foros del Web » Programando para Internet » PHP »

Ayuda con RSS en PHP

Estas en el tema de Ayuda con RSS en PHP en el foro de PHP en Foros del Web. Hola Amigo tengo un problema que no he podido corregir. Estoy desarrolando un rss en php aqui esta el codigo. Código PHP: <?php header ( 'Content-type: text/xml; charset="iso-8859-1"' ...
  #1 (permalink)  
Antiguo 18/03/2008, 14:43
 
Fecha de Ingreso: diciembre-2002
Mensajes: 144
Antigüedad: 21 años, 4 meses
Puntos: 1
Ayuda con RSS en PHP

Hola Amigo tengo un problema que no he podido corregir.

Estoy desarrolando un rss en php aqui esta el codigo.

Código PHP:
<?php header('Content-type: text/xml; charset="iso-8859-1"'true);
echo 
'<'?>?xml version="1.0" encoding="iso-8859-1"?>
<?php 
    
//Tranformar codigo de la sección
    
function seccion($_Codigo){
        if (
$_Codigo=="daje"){$_seccion_N="Ajedrez";}
        if (
$_Codigo=="dart"){$_seccion_N="Arte Marcial";}
        if (
$_Codigo=="daut"){$_seccion_N="Automovilismo";}
        if (
$_Codigo=="dbas"){$_seccion_N="Basket";}
        if (
$_Codigo=="dbox"){$_seccion_N="Boxeo";}
        if (
$_Codigo=="dbei"){$_seccion_N="Béisbol";}
        if (
$_Codigo=="dbas"){$_seccion_N="Ciclismo";}
        if (
$_Codigo=="dext"){$_seccion_N="Extremo";}
        if (
$_Codigo=="dfor"){$_seccion_N="Formula 1";}
        if (
$_Codigo=="dfut"){$_seccion_N="Fútbol";}
        if (
$_Codigo=="dgol"){$_seccion_N="Golf";}
        if (
$_Codigo=="dmot"){$_seccion_N="Motores";}
        if (
$_Codigo=="dnat"){$_seccion_N="Natación";}                    
        if (
$_Codigo=="dotr"){$_seccion_N="Otros Deportes";}
        if (
$_Codigo=="dten"){$_seccion_N="Tenis";}
        if (
$_Codigo=="nact"){$_seccion_N="Actualidad";}
        if (
$_Codigo=="ncol"){$_seccion_N="Columna";}
        if (
$_Codigo=="ncom"){$_seccion_N="Comunidad";}                    
        if (
$_Codigo=="ncul"){$_seccion_N="Cultura";}
        if (
$_Codigo=="neco"){$_seccion_N="Economía";}
        if (
$_Codigo=="nfar"){$_seccion_N="Farádula";}
        if (
$_Codigo=="nint"){$_seccion_N="Internacional";}
        if (
$_Codigo=="nnac"){$_seccion_N="Nacional";}
        if (
$_Codigo=="nopi"){$_seccion_N="Opinión";}
        if (
$_Codigo=="ntur"){$_seccion_N="Turismo";}
        if (
$_Codigo=="nreg"){$_seccion_N="Regional";}
        if (
$_Codigo=="nsuc"){$_seccion_N="Sucesos";}
        if (
$_Codigo=="nsal"){$_seccion_N="Salud";}
        if (
$_Codigo=="npol"){$_seccion_N="Política";}
        if (
$_Codigo=="nsoc"){$_seccion_N="Sociales";}
        return 
$_seccion_N;
    }
    
//Hora y feacha de trabajo
    
function restardias($numdias){
        if (isset(
$fecha_Sistema)){
            
$fecha=time();
        }
        list(
$hora$min$seg$dia$mes$anno)=explode(" ",date("H i s d m Y"));
        
$d=$dia-$numdias;
        
$nueva=date("Y-m-d",mktime($hora$min$seg$mes$d$anno));
        return 
$nueva;
    }
    
define ("hora_Noti","06:00");
    
$hora_Actual=date("H:i");
    
$fecha_Sistema getdate();
    
$anon='n'.$fecha_Sistema[year];
    
//fecha de Trabajo
    
if ($hora_Actual>=$hora_Noti){$fecha_Trabajo $fecha_Sistema[year] . "-" $fecha_Sistema[mon] . "-" $fecha_Sistema[mday];}
    else{
$fecha_Trabajo restardias(1);}
      
// Definimos variables globales
      
$rss_titulo 'www.diarioeltiempo.com.ve - rss';
      
$rss_url 'http://www.diarioeltiempo.com.ve';
      
$rss_descripcion 'Sistema de Noticias - RSS';
      
$rss_email '[email protected]';
      
$rss_generator 'T.S.U. Alirio Durán';
      
$rss_language 'es-VE';
      
// Parametros de conexion a MySQL
        
include_once ("../lib/basededatos.php");
        
$conexion=Conectarse();
      
// Conexion a la base de datos y sql
      
$sql "SELECT * FROM $anon WHERE fech_pub='$fecha_Trabajo' ORDER BY seccion DESC";
      
$result mysql_query($sql$conexion);
      
$item mysql_fetch_assoc($result)?>
      <?php 
      
echo '<rss version="2.0">';
      echo 
'<channel>';
                echo 
'<title>'.$rss_titulo.'</title>';
                echo 
'<link>'.$rss_url.'</link>';
                echo 
'<language>'.$rss_language.'</language>';
                echo 
'<description>'.$rss_descripcion.'</description>';
                echo 
'<generator>'.$rss_generator.'</generator>';
                echo 
'<webMaster>'.$rss_email.'</webMaster>';
          do {
          
               
$dir=$item["seccion"];$archivo=$item["articulo"];
               
$noticia=implode('',file("../noticias/$dir/$archivo.txt"));    
               
$descripcion=substr($noticia,0,300)."...";
                   echo 
'<item>';
                   echo 
'<title>'.$item[titulo].'</title>';
                   echo 
'<pubDate>'.$item[fech_pub].'</pubDate>';
                   echo 
'<category>'.seccion($item[seccion]).'</category>';
                      
// Tipo de seccion
                       
if (substr($item["seccion"],0,1)=='n'){
                          
$categoria_DESC='secciones/secciones.php?num='.$item["cod_num"].'&anon=n'.substr($item["fech_pub"],0,4).'&codigo='.$item["seccion"].'&llve=dos"><b>Nota Completa</b></a>]]>';
                        
$categoria_LINK='secciones/secciones.php?num='.$item["cod_num"].'&anon=n'.substr($item["fech_pub"],0,4).'&codigo='.$item["seccion"].'&llve=dos"';
                    }
                    elseif(
substr($item["seccion"],0,1)=='d'){
                          
$categoria_DESC='deportes/deportes.php?num='.$item["cod_num"].'&anon=n'.substr($item["fech_pub"],0,4).'&codigo='.$item["seccion"].'&llve=uno"><b>Nota Completa</b></a>]]>';
                        
$categoria_LINK='deportes/deportes.php?num='.$item["cod_num"].'&anon=n'.substr($item["fech_pub"],0,4).'&codigo='.$item["seccion"].'&llve=uno"';                        
                    }
                   echo 
'<description><![CDATA['.$descripcion.'<a href="http://www.diarioeltiempo.com.ve/'.$categoria_DESC.'</description>';
               echo 
'</item>';
          } while (
$item mysql_fetch_assoc($result));
      echo 
"</channel>";
      echo 
"</rss>";   
?>

Me disculpa si es mucho codigo o se ve mal.

Bueno lo cierto del caso que a la hora de acceder a el por Firefox me arroja una avertencia por que cre que no es un error de programación, la avertencia en si es la siguiente

Este fichero XML no parece tener ninguna información de estilo asociada. Se muestra debajo el árbol del documento.


Es esta dir pueden ver el rss funcionado.

http://www.diarioeltiempo.com.ve/rss/index.php

Segun lo que e leido tengo que agregar una simple line a de codigo

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Pero al color esto me genera un error el script

Pero in IE corre bien. Sin la linea de codigo que mencione antes.

Otro problema es que la categorias en el IE me tumba los acentos he cambiado los tipo de codificacion y nada me sale error mas bien. UTF-8 y UNICODE. Actual esta iso-8859-1

Última edición por Linit; 18/03/2008 a las 14:54
  #2 (permalink)  
Antiguo 18/03/2008, 15:11
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Ayuda con RSS en PHP

Las líneas así no te deberían dar error:

Código PHP:
<?php 
header
('Content-Type: text/xml');
echo 
'<?xml version="1.0" encoding="iso-8859-1" ?>';
?>

Saludos.
  #3 (permalink)  
Antiguo 18/03/2008, 15:58
 
Fecha de Ingreso: diciembre-2002
Mensajes: 144
Antigüedad: 21 años, 4 meses
Puntos: 1
Re: Ayuda con RSS en PHP

Igual los problemas persiste.
  #4 (permalink)  
Antiguo 18/03/2008, 16:06
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Ayuda con RSS en PHP

Cuales los de la codificacíon o la advertencia que citas.


Saludos.
  #5 (permalink)  
Antiguo 24/03/2008, 13:40
 
Fecha de Ingreso: diciembre-2002
Mensajes: 144
Antigüedad: 21 años, 4 meses
Puntos: 1
Re: Ayuda con RSS en PHP

Carlogas ambos el de la advertencia y el de codificación.

El de codificación me sale solo en las categorias mas no en la noticia ni en los titulares.

Saludos y esperando ayuda
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 07:02.