Foros del Web » Programando para Internet » PHP »

Sistema de noticias con xml

Estas en el tema de Sistema de noticias con xml en el foro de PHP en Foros del Web. Buenas tengo un sistema de noticias en xml, el archivo xml esta compuesto de esta forma: Código: <?xml version="1.0" encoding="utf-8"?> <noticias> <noticia> <title>Titulo</title> <body>Cuerpo de ...
  #1 (permalink)  
Antiguo 31/12/2008, 13:08
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 16 años, 2 meses
Puntos: 3
Sistema de noticias con xml

Buenas tengo un sistema de noticias en xml, el archivo xml esta compuesto de esta forma:

Código:
<?xml version="1.0" encoding="utf-8"?>
<noticias>

<noticia>
<title>Titulo</title>
<body>Cuerpo de la noticia</body>
<fecha>Fecha</fecha>
</noticia>

</noticias>
Bueno la cosa es que tengo un sistema para ir añadiendo noticias y cada vez que se agrega una noticia pasaria esto con el archivo xml:

Código:
<?xml version="1.0" encoding="utf-8"?>
<noticias>

<noticia>
<title>Titulo2</title>
<body>Cuerpo de la noticia2</body>
<fecha>Fecha2</fecha>
</noticia>


<noticia>
<title>Titulo</title>
<body>Cuerpo de la noticia</body>
<fecha>Fecha</fecha>
</noticia>

</noticias>
Es decir que se agrega en la parte superior la noticia.

Ahora lo que deseo pero no puedo conseguir es leer solo las primeras 3 noticias

Yo tengo este codigo que lee TODAS las noticias:

Código PHP:
$archivo "news.xml";
$open fopen($archivo"r");
$leer fread($openfilesize($archivo));

$XML simplexml_load_string($leer);

foreach(
$XML->noticia as $new)
{
echo 
"<h3>$new->title</h3>$new->body<br><br>$new->fecha";

creo que abria que cambiar el bucle pero no se como hacerlo para que se ajuste a mis necesidades.

Espero que se entienda mi dilema.

Gracias.
  #2 (permalink)  
Antiguo 31/12/2008, 13:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Sistema de noticias con xml

leer las 3 primeras... tal ves un break ??

Código:
SI (CONTADOR++ >= 3) SALIR;
eso lo haces asignando un $contador antes del ciclo, mientras aumentas su índice... comparas si es N numero de cuenta... y entonces usas break para salir del ciclo


Referencia:

http://php.net/break
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 31/12/2008, 13:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Sistema de noticias con xml

Cita:
Iniciado por pateketrueke Ver Mensaje
leer las 3 primeras... tal ves un break ??

Código:
SI (CONTADOR++ >= 3) SALIR;
eso lo haces asignando un $contador antes del ciclo, mientras aumentas su índice... comparas si es N numero de cuenta... y entonces usas break para salir del ciclo


Referencia:

http://php.net/break
te entiendo pero como agregarlo al script?
  #4 (permalink)  
Antiguo 31/12/2008, 13:27
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Sistema de noticias con xml

En el foreach haces el contador, si se cumple la condición haces el break;

Saludos.
  #5 (permalink)  
Antiguo 31/12/2008, 13:42
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Sistema de noticias con xml

Cita:
Iniciado por GatorV Ver Mensaje
En el foreach haces el contador, si se cumple la condición haces el break;

Saludos.
como es eso? eso nuevo para mi.

porque segun esta pagina no se puede

http://cl2.php.net/manual/es/control...es.foreach.php
  #6 (permalink)  
Antiguo 31/12/2008, 13:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Sistema de noticias con xml

En el Manual tienes toda la información referente a foreach e ifs. Solo es cuestión que leas y estudies un poco y vas a poder entender y aprender como hacerlo.

Saludos.
  #7 (permalink)  
Antiguo 31/12/2008, 13:52
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Sistema de noticias con xml

Cita:
Iniciado por GatorV Ver Mensaje
En el Manual tienes toda la información referente a foreach e ifs. Solo es cuestión que leas y estudies un poco y vas a poder entender y aprender como hacerlo.

Saludos.
si yo conozco bien el if y foreach pero no puedo dilucidar como hacerlo porfavor mas ayuda :S
  #8 (permalink)  
Antiguo 31/12/2008, 13:54
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Sistema de noticias con xml

Ya te lo indico pateketrueke, simplemente inicias un contador y comparas, si el contador es igual (o mayor a 3) haces el break en tu for.

Saludos.
  #9 (permalink)  
Antiguo 31/12/2008, 14:02
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Sistema de noticias con xml

Cita:
Iniciado por GatorV Ver Mensaje
Ya te lo indico pateketrueke, simplemente inicias un contador y comparas, si el contador es igual (o mayor a 3) haces el break en tu for.

Saludos.
es que me decian que el contador lo meta en la funcion foreach y me decia a mi mismo que dicen !!

pero ya les entendi la deje asi:

Código PHP:
<?

$archivo 
"news.xml";
$open fopen($archivo"r");
$leer fread($openfilesize($archivo));

$XML simplexml_load_string($leer);
$i 0;

foreach(
$XML->noticia as $new)
{
 if(
$i 3)
 {
 echo 
"<h3>$new->title</h3>$new->body<br><br>$new->fecha";
 
$i++;
 }
 else
 {
 break;
 }
}
?>
  #10 (permalink)  
Antiguo 01/01/2009, 14:34
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 16 años, 2 meses
Puntos: 3
Respuesta: Sistema de noticias con xml

porfavor me pueden ayudar mas aun no logro lo que quiero :S
  #11 (permalink)  
Antiguo 01/01/2009, 14:49
Avatar de Italico76  
Fecha de Ingreso: abril-2007
Mensajes: 3.303
Antigüedad: 17 años, 7 meses
Puntos: 292
Respuesta: Sistema de noticias con xml

Cita:
En el foreach haces el contador, si se cumple la condición haces el break;
GatorV: como solucion es-practica pero a mi en la universidad me dijeron que deberia usar WHILE como estructura de control en estos casos.

La verdad... me dan ganas de volver a usar break con FOR
__________________
Salu2!

Última edición por Italico76; 01/01/2009 a las 15:37
  #12 (permalink)  
Antiguo 01/01/2009, 18:15
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de noticias con xml

Qué cosa no funciona? Lanza algún mensaje de error?

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 13:10.