Foros del Web » Programando para Internet » PHP »

Cambiar una consulta a la BBDD Joomla

Estas en el tema de Cambiar una consulta a la BBDD Joomla en el foro de PHP en Foros del Web. Hola a todos, os cuento un poco para poneros en situacion, estoy haciendo una web para mostrar eventos, no he utilizado ningun componente como jEvents ...
  #1 (permalink)  
Antiguo 18/11/2011, 04:43
Avatar de gino24  
Fecha de Ingreso: marzo-2011
Mensajes: 4
Antigüedad: 13 años, 1 mes
Puntos: 0
Pregunta Cambiar una consulta a la BBDD Joomla

Hola a todos, os cuento un poco para poneros en situacion, estoy haciendo una web para mostrar eventos, no he utilizado ningun componente como jEvents ni ninguno por el estilo, lo que he hecho ha sido modificar un articulo para darle las caracteristicas de un evento, he añadido nuevos campos en la base de datos y en la pate del back-end como fecha_inicio del evento, fecha_fin etc..

Mi problema surge cuando instalo el modulo [URL="http://www.bloogie.es/joomla-extensions/blog-calendar"]blog_calendar[/URL], este modulo muestra un calendario en la web y cuando pinchas en un dia, te muestra los articulos creados ese dia, he conseguido cambiarlo y que me muestre los articuloS (o eventos) que tienen una fecha_inicio igual al dia que se pinche.
Pero lo que tambien quiero hacer es que un evento se muestre no solo por su fecha_inicio si no tambien por su fecha_fin, osea que si el dia que se pincha en el calendario esta entre fecha_inicio y fecha_fin se muestre, en teoria parece facil pero mi problema llega en esta parte del codigo:
Código:
$nullDate	= $db->getNullDate();
		
$date[0]= mktime(0,0,0,$month, 1,$year);
$date[1]= mktime(0,0,0, $month+1, 1, $year);		
		
$date[0]= new JDate($date[0], $offset);
$date[1]= new JDate($date[1], $offset);
			
$date[0]= $date[0]->toMySQL();
$date[1]= $date[1]->toMySQL();
		
$dateNow = new JDate();
$now = $dateNow->toMySQL();
		
if($type == 0){ //query for the calendar		
	$where= 'a.state = 1'
	. ' AND  ( a.fecha_inicio >= '. $db->Quote($date[0]) .' AND a.fecha_inicio < '. $db->Quote($date[1])
	. ' AND ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )'
	. ' AND ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )'
			;
	$query ='SELECT a.id,a.catid,a.created,a.publish_up,a.publish_down,a.state,a.access, a.fecha_inicio'.
	' FROM #__content AS a'.
	' INNER JOIN #__categories AS cc ON cc.id = a.catid' .
	' WHERE '. $where .
	' AND a.language IN (\''.JFactory::getLanguage()->getTag().'\',\'*\')'.
	($access ? ' AND a.access IN ('.$groups.')' : ''). //select only the content that the current user is allowed to see
	' AND cc.published = 1' ;
	//($catCondition != '' ? $catCondition : '' ); //add the $catCondition if $catid exists				
		}
HE intentado muchas cosas como por ejemplo:
Código:
$where		= 'a.state = 1'
			. ' AND  ( a.fecha_inicio >= '. $db->Quote($date[0]) .' AND a.fecha_inicio < '. $db->Quote($date[1])
			. ' OR a.fecha_fin >= '. $db->Quote($date[1]) .' AND a.fecha_fin < '. $db->Quote($date[0]).' )'
			. ' AND ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )'
			. ' AND ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )'
			;

Pero la raiz de mi problema es que no se como interpretar esta parte del codigo, no se que es date[0], ni date[1], me imagino que almacenara la fecha que se pincha en el calendario, pero por que 2 fechas??

Código:
$date[0]= mktime(0,0,0,$month, 1,$year);
$date[1]= mktime(0,0,0, $month+1, 1, $year);

Etiquetas: bbdd, joomla, mysql
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 17:50.