• Comentarios

    • José Enrique: Está muy bueno, creo que es una de las partes más complicadas para trabajar en una web, sobre todo...
    • manuel: Es difícil conseguir subtitulos que estén sincronizados con las películas, más si las mismas están recién...
    • Miguel Andre: Me parece muy buena forma, porque el formato de fechas sólo he visto en versión inglés en php
    • Maryan Ana: Hasta los momentos no he podido crear una asistencia remota, siempre me da problema con algo, no se si un...

Listar contenido semanalmente con PHP

Bueno, ayer un cuate me comentó que quería mostrar los videos de la semana, y lo 1ro que se me ocurrió es hacer estas funciones… Todavía no sé si es la mejor forma, pero esta fue mi idea inicial… les comentaré luego si la mejoré, por lo pronto las dejo. A alguien le puede servir la lógica o por qué no, criticarla y mejorarla :)

#acentos omitidos en comentarios intencionalmente
#Separe las funciones para que sea mas entendible
#La siguiente funcion contiene los dias de la semana, la semana comienza el lunes. Retorna la posicion del dia que recibe
function dias_semana($dia){
	$dias=array(
	1=>'lunes',
	2=>'martes',
	3=>'miércoles',
	4=>'jueves',
	5=>'viernes',
	6=>'sábado',
	7=>'domingo'
	);
	$s=array_search($dia,$dias);
	return $s;
}

#funcion para pasar a español la fecha
function mifecha($cadena){
	$diasEs=Array("lunes","martes","miércoles","jueves","viernes","sábado","domingo");
	$mesesEs=Array("enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre");
	$diasEn=Array("Monday","Tuesday","Wednesday","Thursday","Friday", "Saturday","Sunday");
	$mesesEn=Array("January", "February", "March", "April", "May", "June","July","August", "September", "October", "November", "December");
	$horasEn=Array("th", "st", "nd", "rd");
	$horasEs=array("","","");
	return	str_replace($horasEn,$horasEs,str_replace($mesesEn,$mesesEs,str_replace($diasEn,$diasEs,$cadena)));

}

#Esta funcion listara hara las consultas semanalmente...
function videos_semanales(){
 	$dias_menos=dias_semana(mifecha(date('l')))-1; //obtenemos cuantos dias restaremos a partir del dia actual para saber que dia es "lunes"
//Hacemos un loop para hacer las consultas
 	for($i=0;$i<7;$i++){
               $dia_semana=date('Y-'.date('j',mktime(0, 0, 0, date("m")  , (date("d")-$dias_menos)+$i, date("Y"))).'-m'); //esto genera un formato parecido a este: "2010-22-03"
 		echo "select * from videos where fecha='".$dia_semana."'"; //Simulo la consulta...
 		echo "<br/>";

 	}
 }

Y listo, solo basta con llamar a la función de la siguiente manera

videos_semanales();

este ejemplo imprime únicamente algo como esto..
select * from videos where fecha='2010-22-03'
select * from videos where fecha='2010-23-03'
select * from videos where fecha='2010-24-03'
select * from videos where fecha='2010-25-03'
select * from videos where fecha='2010-26-03'
select * from videos where fecha='2010-27-03'
select * from videos where fecha='2010-28-03'

1 Comentario  »

  1. Miguel Andre says:

    Me parece muy buena forma, porque el formato de fechas sólo he visto en versión inglés en php

    Using Safari Safari 535.7 on Mac OS Mac OS X

RSS feed for comments on this post, TrackBack URI

Deja tu comentario