Foros del Web » Programando para Internet » PHP »

Agenda en php con xml que los datos se muestren por fechas

Estas en el tema de Agenda en php con xml que los datos se muestren por fechas en el foro de PHP en Foros del Web. Hola resulta que tengo una agenda insertada en un html armada con php y xml donde el php recoge los datos desde el xml. El ...
  #1 (permalink)  
Antiguo 24/02/2012, 07:26
 
Fecha de Ingreso: febrero-2012
Mensajes: 10
Antigüedad: 12 años, 2 meses
Puntos: 0
Agenda en php con xml que los datos se muestren por fechas

Hola resulta que tengo una agenda insertada en un html armada con php y xml donde el php recoge los datos desde el xml. El problema que estos datos se actualizan constantemente ya que son espectaculos y es bastante tedioso estarlo actualizando constantemente lo que quiero es poder escribir en el xml las fechas de un mes y estas vayan apareciendo seguún la fecha se que se puede hacer con la función date y condicionales if pero no me doy cuenta como es la sintaxis.

El codigo php de la agenda es:

Código HTML:
 <!-- INICIO NOTICIA -->
            <div class="agendaCartel darkBG blanco">
                <span class="agendaCartelMes"><?php echo $xml->noticia1->mes;  ?></span><br />
                <span class="agendaCartelAno"><?php echo $xml->noticia1->ano;  ?></span>
                <span class="agendaCartelHora"><?php echo $xml->noticia1->hora;  ?></span>                
			</div>                
			<h2 class="rojo"><?php echo $xml->noticia1->titulo;  ?></h2>
            <p>
            	<?php echo $xml->noticia1->texto;  ?>
            </p>
			<div class="agendaInfo amarilloBG">
				<a href="<?php echo $xml->noticia1->url;  ?>" target="_blank"><?php echo $xml->noticia1->link;  ?></a>
			</div>
			<hr />
            <!-- FIN NOTICIA -->
            
            
           
            <div class="clear" style="height:10px;"></div>
            <!-- INICIO NOTICIA -->
            <div class="agendaCartel darkBG blanco">
                <span class="agendaCartelDia"><?php echo $xml->noticia2->dia;  ?></span><br />                
                <span class="agendaCartelMes"><?php echo $xml->noticia2->mes;  ?></span><br />
                <span class="agendaCartelAno"><?php echo $xml->noticia2->ano;  ?></span>
			</div>                
			<h2 class="rojo"><?php echo $xml->noticia2->titulo;  ?></h2>
            <p>
            	<?php echo $xml->noticia2->texto;  ?>
            </p>
			<div class="agendaInfo amarilloBG">
				<a href="<?php echo $xml->noticia2->url;  ?>" target="_blank"><?php echo $xml->noticia2->link;  ?></a>
			</div>
			<hr />
            <!-- FIN NOTICIA -->   
                     <div class="clear" style="height:10px;"></div>
              <!-- INICIO NOTICIA -->
            <div class="agendaCartel darkBG blanco">
                <span class="agendaCartelDia"><?php echo $xml->noticia3->dia;  ?></span><br />                
                <span class="agendaCartelMes"><?php echo $xml->noticia3->mes;  ?></span><br />
                <span class="agendaCartelAno"><?php echo $xml->noticia3->ano;  ?></span>
			</div>                
			<h2 class="rojo"><?php echo $xml->noticia3->titulo;  ?></h2>
            <p>
            	<?php echo $xml->noticia3->texto;  ?>
            </p>
			<div class="agendaInfo amarilloBG">
				<a href="<?php echo $xml->noticia3->url;  ?>" target="_blank"><?php echo $xml->noticia3->link;  ?></a>



			</div>
			<hr />
            <!-- FIN NOTICIA --> 
Y el xml es:

Código HTML:
<noticias>
    <noticia1>
	<mes>Feb</mes>
	<ano>2012</ano>
	<hora>21 hs</hora>	
	<titulo>Carnaval</titulo>
	<texto>Teatro de Verano | Rambla Wilson s/n, Canteras del Parque Rodó</texto>
	<url>http://carnavaldeluruguay.com/b/carnaval-2012-2/</url>
	<link>+ info</link>
	</noticia1> 
	
		
     <noticia2>
	 <dia>25</dia>
	 <mes>Feb</mes>
	 <ano>2012</ano>
	 <hora>21 hs</hora>		
	 <titulo>El Club de Tobi </titulo>
	 <texto>Puerto de Punta del Este </texto>
	 <url>http://www.elclubdetobi.com.uy/</url>
	 <link>+ info</link>
	</noticia2> 
	
		
	<noticia3>
	<dia>26</dia>
	<mes>Feb</mes>
	<ano>2012</ano>
	<titulo>Mateo Moreno</titulo>
	<texto>El viejo almacen, Punta Ballena </texto>
	<url>http://www.mateomoreno.com/</url>
	<link>+ info</link>
	</noticia3> 
quiero escribir en el xml todo el mes y que los eventos se vayan mostrando por lapsos de fechas, espero su ayuda soy nuevo en este foro este es mi primer tema, saludos
  #2 (permalink)  
Antiguo 24/02/2012, 08:13
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: Agenda en php con xml que los datos se muestren por fechas

Mi solución:

1º Pasa todos los datos a un array

2º Eliminas del xml que no sean del mes y año en cuestion

3º ordenaría el array con ksort dándole como parámetro el día.

4º Muestras datos.

El problema que le veo es que si guardas muchos eventos en el mismo fichero se volverá muy lenta y si ademas le añades alguna descripción larga como no tengas un hosting aceptable te saltara error de memoria.
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #3 (permalink)  
Antiguo 24/02/2012, 08:15
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: Agenda en php con xml que los datos se muestren por fechas

Otra solucion es que vayas analizando cada noticia antes de guardarla en el array asi te evitas problemas de sobrecarga, podrias utilizar algo en plan

Código PHP:
Ver original
  1. foreach($xml->noticia as $noticia){
  2. if($noticia->mes == "feb" && $noticia->ano=="2012"){
  3. $array[] = $noticia;
  4. }
  5. }
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #4 (permalink)  
Antiguo 24/02/2012, 08:29
 
Fecha de Ingreso: febrero-2012
Mensajes: 10
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Agenda en php con xml que los datos se muestren por fechas

Gracias por la respuesta pero no tengo conocimientos muy solidos de php como para poder hacer eso se lo que es un array y eso pero te agradeceria si me pasarias el codigo mas especificamente , asi como tambien te comento que la idea es escribir en el xml todos los eventos de un mes , no es nada hecho por año, espero tu resdpuesta saludos
  #5 (permalink)  
Antiguo 24/02/2012, 08:37
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: Agenda en php con xml que los datos se muestren por fechas

mi primera pregunta es, porque utilizas xml? vas a a pasar datos entre aplicaciones o no tienes servidor de base de datos.

Con una bbdd seria mas facill y te permitiria mas accesibilidad
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #6 (permalink)  
Antiguo 24/02/2012, 08:40
 
Fecha de Ingreso: febrero-2012
Mensajes: 10
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Agenda en php con xml que los datos se muestren por fechas

si no el tema es queya estaba armada asi, no manejo base de datos creo que es muy sencillo esto pero no se escribirlo debe ser algo como if{ tal fecha>tal fecha} entonces echo tal xml o algo asi
  #7 (permalink)  
Antiguo 24/02/2012, 08:47
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: Agenda en php con xml que los datos se muestren por fechas

LA funcion que te puse arriva si mantienes el formato del xml te sirve para almacernar los eventos del mes de febrero y año 2012 en un array.

Faltaria que antes de la funcion vuelques el xml en la variable $xml( que en si es un array tambien), luego despues de la funcion que te deje te quedaria un array con los eventos del mes y año seleccionados.

Para ordenarlo http://php.net/manual/es/function.ksort.php

Intenta hacer por ti el codigo y depurarlo tu mismo; si tienes dudas entonces preguntas pero no pidas que te hagamos codigo ;)
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios
  #8 (permalink)  
Antiguo 24/02/2012, 08:48
 
Fecha de Ingreso: febrero-2012
Mensajes: 10
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Agenda en php con xml que los datos se muestren por fechas

muchas gracias
  #9 (permalink)  
Antiguo 24/02/2012, 08:55
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: Agenda en php con xml que los datos se muestren por fechas

Si te gusto estaria bien que dieras carma, eso nos alegra bastante :P
__________________
Es de bien nacidos ser agradecidos.
Desarrollo de software a medida | TPV Comercios

Etiquetas: agenda, date, funcion, xml
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:36.