Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/11/2009, 10:18
Avatar de danico90
danico90
 
Fecha de Ingreso: febrero-2009
Ubicación: San José, Costa Rica
Mensajes: 148
Antigüedad: 15 años, 3 meses
Puntos: 13
Mensaje Respuesta: Crear XML a partir de una consulta SQL.

Saludos!

Este es es el código, creo q esta no es la versión final, pero funciona bien:

Código PHP:
<?

try {
$archivo=fopen("../../rss.xml","w+");
$str'<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
    <title>TItulo</title>    
    <description>Información reciente del sitio</description>
    <link>http://sitio.cr/</link>
    <atom:link href="http://www.sitio.cr/rss.xml" rel="self" type="application/rss+xml" />
'
;
fwrite($archivo,$str);
arbol_p2(0,$archivo);   //esta funcion es recursiva ya que algunos articulos tienen subarticulos por ejemplo si el id del padre es 10 el campo pagid del hijo es 10, se puede cambiar esta funcion por la que sea ya que esta escribe los items
fwrite($archivo,"</channel></rss>");
fclose($archivo);
}

catch(
Exception $e) {

}

function 
arbol_p2($item,$archivo) {                
    @
$mierda=mysql_query("select * from admin_contenidos where pagid='".$item."' AND publicar=1 ORDER BY orden ASC");
    if (
mysql_num_rows($mierda)!=0) {
        while (
$p mysql_fetch_array($mierda)) {
            if ((
$p['pagid']!=17 && $p['id']!=17) && ($p['pagid']!=14 && $p['id']!=14)) {
                
$padremysql_fetch_array(mysql_query("select * from admin_contenidos where id=".$p['pagid']));

        
            if (
$p['destacado1']!=''){
            
$str2'<item>
                    <title>'
.$p['titular1'].'</title>
                    <link>http://sitio.cr/noticias.php?id='
.$p['id'].'</link>
                    <description>'
.$p['destacado1'].'</description>
                    <guid>http://sitio.cr/noticias.php?id='
.$p['id'].'</guid>
                    <pubDate>'
.$p['fecha'].'</pubDate>
                </item>'
;
                
fwrite($archivo,$str2);
            }
            }
            
arbol_p2($p['id'],$archivo);            
        }
    }                
}
?>

Hay varias condiciones y otras cosas pero talvez te sirva de guia, creo q con solo cambiar la funcion q es la que escribe escribe los items en el archivo funciona perfecto. o puedes poner un ciclo en lugar de la funcion y escribir los items