Este es mi codigo:
Código PHP:
$ultimoDiaMesAnt = date('Y-m-d', strtotime('-1 day')) ;
$primerDiaMesYearAnt = date('Y-m-d', strtotime('-1 year')) ;
$primerMesYearAct = date('Y-m-d', strtotime('-1 year +1 month')) ;
$primerMesYearAnt = date('Y-m-d', strtotime('-2 year +1 month')) ;
function primerdiaMes() {
$primerDiaMes = date('m');
$primerDiaYear = date('Y');
return date('Y-m-d', mktime(0,0,0, $primerDiaMes, 1, $primerDiaYear));
};
function ultimodiaMes() {
$ultimoDiaMes = date('m');
$ultimoDiaYear = date('Y');
$ultimoDia = date("d", mktime(0,0,0, $ultimoDiaMes+1, 0, $ultimoDiaYear));
return date('Y-m-d', mktime(0,0,0, $ultimoDiaMes, $ultimoDia, $ultimoDiaYear));
};
function primerdiaMesAnt() {
$primerDiaMes = date('m');
$primerDiaYear = date('Y');
return date('Y-m-d', mktime(0,0,0, $primerDiaMes-1, 1, $primerDiaYear));
};
function ultimoDiaMesYearAnt() {
$primerDiaMes = date('m');
$primerDiaYear = date('Y');
return date('Y-m-d', mktime(0,0,0, $primerDiaMes+1, 0, $primerDiaYear-1));
};
$primerDia=primerdiaMes();//.' Primer dia Mes actual<br>'; ///// MES
$ultimoDia=ultimodiaMes();//.' Ultimo dia Mes actual<br>'; ///// ACTUAL
$primerDiaMesAnt=primerdiaMesAnt();//.' Primer dia Mes anterior<br>'; ///// MES
$ultimoDiaMesAnt;//.' Ultimo dia Mes anterior<br>'; //// ANTERIOR
$primerDiaMesYearAnt;//.' Primer dia Mes año anterior<br>'; ///// MES AÑO
$ultimoDiaMesYearAnt=ultimoDiaMesYearAnt();//.' Ultimo dia Mes año anterior<br>'; ///// ANTERIOR
$primerMesYearAct;//.' Primer Mes Año Actual <br>'; ///// Primer Mes Año Actual
$primerMesYearAnt;//.' Primer Mes Año Anterior <br>'; //// Primer Mes Año Anterior
$PMesAct = '((COALESCE(SUM(CASE WHEN fecha between '.$primerDia.' and '.$ultimoDia.' THEN com END),0)+COALESCE(SUM(CASE WHEN fecha between '.$primerDia.' and '.$ultimoDia.' THEN intt END),0)+COALESCE(SUM(CASE WHEN fecha between '.$primerDia.' and '.$ultimoDia.' THEN bb END),0))+COALESCE(SUM(CASE WHEN fecha between '.$primerDia.' and '.$ultimoDia.' THEN exp END),0)+COALESCE(SUM(CASE WHEN fecha between '.$primerDia.' and '.$ultimoDia.' THEN expo END),0)+COALESCE(SUM(CASE WHEN fecha between '.$primerDia.' and '.$ultimoDia.' THEN fali END),0)+COALESCE(SUM(CASE WHEN fecha between '.$primerDia.' and '.$ultimoDia.' THEN plan END),0)+COALESCE(SUM(CASE WHEN fecha between '.$primerDia.' and '.$ultimoDia.' THEN flo END),0)+COALESCE(SUM(CASE WHEN fecha between '.$primerDia.' and '.$ultimoDia.' THEN es END),0)) AS PMesAct';
$sumasAs=mysql_query("SELECT nombres,$PMesAct
FROM tbl1 INNER JOIN tbl2 ON tbl1.nombres=tbl2.nombre
WHERE prods IN ('14313') GROUP BY nombres");
Lo tengo de esa manera ya que son varias consultas diferentes, ya estaba funcionando cuando tenia las fechas directamente, pero ahora que le meti las variables ya no funcionó osh!!!!