Foros del Web » Programando para Internet » PHP »

Sistema de noticias y sindicación

Estas en el tema de Sistema de noticias y sindicación en el foro de PHP en Foros del Web. Estoy construyendo un sistema de noticias y me gustaría hacer un sistema de sindicación para las mismas pero no tengo ni idea de por donde ...
  #1 (permalink)  
Antiguo 11/07/2005, 12:32
Avatar de Keleriano  
Fecha de Ingreso: junio-2002
Ubicación: Granada
Mensajes: 133
Antigüedad: 15 años, 5 meses
Puntos: 0
Sistema de noticias y sindicación

Estoy construyendo un sistema de noticias y me gustaría hacer un sistema de sindicación para las mismas pero no tengo ni idea de por donde empezar, me gustaría saber si existe algún tutorial o algo para orientarme.

Gracias

Un Saludo
  #2 (permalink)  
Antiguo 11/07/2005, 12:34
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Mmm, para ti que significa sindicación??
  #3 (permalink)  
Antiguo 11/07/2005, 13:16
Avatar de Keleriano  
Fecha de Ingreso: junio-2002
Ubicación: Granada
Mensajes: 133
Antigüedad: 15 años, 5 meses
Puntos: 0
Cita:
Iniciado por lado2mx
Mmm, para ti que significa sindicación??
Ciertamente no se si el término es correcto, lo que yo quiero hacer es que se genere un fichero xml para poder acceder a las noticias con un cliente de correo por ejemplo
  #4 (permalink)  
Antiguo 11/07/2005, 13:42
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Con un cliente de correo... eso es otra cosa... para eso se necesita un servidor de Noticias.

Si lo que quieres es generar un fichero que pueda leerse con FeedReader por ejemplo, lo que quieres es generar un FEED RSS, aqui te pongo el que uso yo...

rss.php
Código PHP:
<?php
Header
"Content-type: text/xml"); 
echo 
'
<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">
<rss version="0.91">
'
;
?>
<channel> 
<title>solo-racing.com.ar</title> 
<link>http://www.solo-racing.com.ar/</link> 
<description>Sistema de Noticias de Racing El Quinto Elemento. Nos importa la Actualidad, nos importa tu Comodidad. Tenerte informado las 24hs es nuestro compromiso.</description>
<image>
  <title>Racing El Quinto Elemento</title> 
  <url>http://www.solo-racing.com.ar/rss_feed.jpg</url> 
  <link>http://www.solo-racing.com.ar/</link> 
</image>
<language>es-ar</language>
<?php
include("../includes/db.php");
$_SQL mysql_query("SELECT * FROM noticias WHERE aceptar = 1 AND id_rel = 0 ORDER BY id DESC LIMIT 0,25");
while(
$_ROW=mysql_fetch_array($_SQL)) {
  if (
$_ROW[cuerpo] && $_ROW[id_fecha] == "0") { $_RSS["LINK"] = 'http://www.solo-racing.com.ar/?mod=newnro'.$_ROW[id]; }
  elseif (
$_ROW[id_fecha] != "0") { $_RSS["LINK"] = 'http://www.solo-racing.com.ar/?mod=fechanro'.$_ROW[id_fecha]; }
  
$_RSS["texto"] = str_replace("&","&amp;",$_ROW["copete"]);
  echo 
'
  <item>
  <title>'
.$_ROW["titulo"].'</title>  
  <description>'
.$_RSS["texto"].'</description> 
  <image>
    <title>Racing El Quinto Elemento</title> 
    <url>http://www.solo-racing.com.ar/rss_feed.jpg</url> 
    <link>http://www.solo-racing.com.ar/</link> 
  </image>
  <link>'
.$_RSS["LINK"].'</link>
  </item>
  '
;
}
?>
</channel>
</rss
Simplemente debes reemplazar todos los parametros que hagan falta... el resultado de esto es:

http://www.solo-racing.com.ar/xml/rss.xml

Obviamente el fichero será .PHP, realmente no importa si es .xml ya que el contenido del .php si es xml (por ende, cualquier leector RSS podrá leerlo correctamente), pero si quieres que el archivo sea .xml simplemente tienes que hacer una regla con mod_rewrite de apache en un .htaccess
__________________
I Love Programming...
  #5 (permalink)  
Antiguo 12/07/2005, 04:46
Avatar de Keleriano  
Fecha de Ingreso: junio-2002
Ubicación: Granada
Mensajes: 133
Antigüedad: 15 años, 5 meses
Puntos: 0
Muchísimas gracias fulano, probaré a ver si hay suerte ;)
  #6 (permalink)  
Antiguo 20/11/2005, 15:47
 
Fecha de Ingreso: diciembre-2004
Mensajes: 108
Antigüedad: 13 años
Puntos: 1
pues he probado este script pero no me da nada realmente que es WHERE "aceptar=1" lo que esta en comillas
  #7 (permalink)  
Antiguo 20/11/2005, 16:08
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
que es WHERE "aceptar=1"
Es una condicional de SQL (otro lenguaje cuya función es la de manipular la Base de Datos). Con ella se el recuperar datos solo cuando en un campo "aceptar" tengan valor de 1.

Gráficamente:
Código:
Si tienes una tabla como
id  |  aceptar
 1  |     0
 2  |     1
 3  |     2
 4  |     1
 5  |     1
La query "SELECT * FROM tabla WHERE aceptar=1" recuperaría
Código:
id  |  aceptar
 2  |     1
 4  |     1
 5  |     1
Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #8 (permalink)  
Antiguo 20/11/2005, 18:56
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Muchas gracias por la explicacion Jam ;).

Como bien dijo, es un condicional para verificar el contenido de un campo en mi DB, pero eso es MIO, es decir, tu no lo necesitas... el tema es que mi sistema de noticias tiene dos estados y por ello necesito el condicional.
__________________
I Love Programming...
  #9 (permalink)  
Antiguo 21/11/2005, 16:00
 
Fecha de Ingreso: diciembre-2004
Mensajes: 108
Antigüedad: 13 años
Puntos: 1
bueno yo no tengo ese campo no importa si le quito en aceptar=1
  #10 (permalink)  
Antiguo 21/11/2005, 16:28
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
Pues no, de hecho, debes quitarlo... deberia quedar algo asi:

Código PHP:
$_SQL mysql_query("SELECT * FROM `noticias` ORDER BY `id` DESC LIMIT 0,25"); 
__________________
I Love Programming...
  #11 (permalink)  
Antiguo 21/11/2005, 17:37
 
Fecha de Ingreso: diciembre-2004
Mensajes: 108
Antigüedad: 13 años
Puntos: 1
<?php
include("Connections/coneccion.php");
$_SQL = mysql_query("SELECT * FROM rss_noti ORDER BY id DESC LIMIT 0,25");
while($_ROW = mysql_fetch_array($_SQL)) {
if ($_ROW[texto2] && $_ROW[fecha] == "0") { $_RSS["LINK"] = 'http://localhost/pruebas/index.php?mod=newnro'.$_ROW[id]; }
elseif ($_ROW[fecha] != "0") { $_RSS["LINK"] = 'http://www.solo-racing.com.ar/hola.php?mod=fechanro'.$_ROW[fecha]; }
$_RSS["texto2"] = str_replace("&","&amp;",$_ROW["copete"]);
echo '
<item>
<title>'.$_ROW["titulo"].'</title>
<description>'.$_RSS["texto1"].'</description>
<image>
<title>Racing El Quinto Elemento</title>
<url>http://www.solo-racing.com.ar/rss_feed.jpg</url>
<link>http://www.solo-racing.com.ar/</link>
</image>
<link>'.$_RSS["LINK"].'</link>
</item>
';

<b>Warning</b>
: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
<b>c:\wamp\www\practicas\rss3.php</b>
on line


me sale este error en la consulta
  #12 (permalink)  
Antiguo 22/11/2005, 08:11
Avatar de FuLaNo_  
Fecha de Ingreso: mayo-2003
Ubicación: Don Torcuato, Buenos Aires, Argentina
Mensajes: 1.250
Antigüedad: 14 años, 6 meses
Puntos: 2
$_SQL = mysql_query("SELECT * FROM `rss_noti` ORDER BY `id` DESC LIMIT 0,25");
while($_ROW = mysql_fetch_array($_SQL)) {

Prueba con esas "comillas"... las consultas SQL siempre deben llevar comillas "invertidas" en los nombres de campos y tablas
__________________
I Love Programming...
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 10:58.