Código PHP:
/**
*
* @desc
* @param unknown_type $fechaInicio
* @param unknown_type $fechaFin
* @return
*
*/
function obtenerNumeroInformesIncidenciasEntre2Fechas($fechaInicio, $fechaFin){
$conn = conectarBd();
/*
* Es importante colocar el orden del BETWEEN correctamente: primero la fecha pequenia y luego la mayor.
*/
/* Creamos la consulta en $query */
$query = "SELECT tiempoParada FROM InformeIncidencia WHERE InformeIncidencia.estaPorCompletar=0 AND tiempoParada BETWEEN :fechaInicio AND :fechaFin ORDER BY tiempoParada";
/* Creamos la consulta en $query */
try{
//$informes = $conn->query($query);
$st = $conn->prepare($query);
$st->bindParam(":fechaInicio", $fechaInicio, PDO::PARAM_STR);
$st->bindParam(":fechaFin", $fechaFin, PDO::PARAM_STR);
$st->execute();
$informes = $st->fetchAll(PDO::FETCH_ASSOC);
/* Creamos las variables $datosOrdenados (inicianizandola como un array vacio) y $hemosAnadido (inicianizandola con el valor false) */
$datosOrdenados = array();
$hemosAnadido = false;
/* Creamos las variables $datosOrdenados (inicianizandola como un array vacio) y $hemosAnadido (inicianizandola con el valor false) */
//print_r($informes);
foreach ($informes as $informe){
/* Creamos la variable $suFecha y la cargamos con el valor de $informe["tiempoParada"] */
$suFecha = $informe["tiempoParada"];
/* Creamos la variable $suFecha y la cargamos con el valor de $informe["tiempoParada"] */
//print_r($suFecha);
//Cogemos sus 7 primeros caracteres (del 0 al 6), cogiendo el mes y al anio que es lo
//unico que nos interesa:
/* Creamos la variable $suFechaMesYAnio obteniendo un substring de $suFecha: substr($suFecha, 0, 7) */
$suFechaMesYAnio = substr($suFecha, 0, 7);
/* Creamos la variable $suFechaMesYAnio obteniendo un substring de $suFecha: substr($suFecha, 0, 7) */
//echo $suFecha . "<br />";
//echo $suFechaMesYAnio . "<br />";
if( !isset($datosOrdenados[$suFechaMesYAnio]) ){
//anadimos eso:
//echo "anadimos porque no existia <br />";
/* Añadimos a las variables $datosOrdenados[$suFechaMesYAnio]["cantidad"] y $datosOrdenados[$suFechaMesYAnio]["date"]
* los valores 1 y el contenido de $suFechaMesYAnio, respectivamente */
$datosOrdenados[$suFechaMesYAnio]["cantidad"] = 1;
$datosOrdenados[$suFechaMesYAnio]["date"] = $suFechaMesYAnio;
/* Añadimos a las variables $datosOrdenados[$suFechaMesYAnio]["cantidad"] y $datosOrdenados[$suFechaMesYAnio]["date"]
* los valores 1 y el contenido de $suFechaMesYAnio, respectivamente */
}else{
//como existe, sumamos una unidad a su cantidad de informes en ese mes de ese anio.
//echo "anadimos ya que existia <br />";
/* Aumentar el valor de $datosOrdenados[$suFechaMesYAnio]["cantidad"] en una unidad */
$datosOrdenados[$suFechaMesYAnio]["cantidad"]++;
/* Aumentar el valor de $datosOrdenados[$suFechaMesYAnio]["cantidad"] en una unidad */
}
/* Cargamos la variable $hemosAnadido con el valor true */
$hemosAnadido = true;
/* Cargamos la variable $hemosAnadido con el valor true */
}
desconectarBd($conn);
if( !$hemosAnadido ){
//Si no anadimos nada, devolvemos null.
/* Cargamos la variable $devolver con el valor null */
$devolver = null;
/* Cargamos la variable $devolver con el valor null */
}else{
//devolvemos la lista
/* Cargamos la variable $devolver con el contenido de $datosOrdenados */
$devolver = $datosOrdenados;
/* Cargamos la variable $devolver con el contenido de $datosOrdenados */
}
return $devolver;
}catch(PDOException $e){
?>
<p>Error en la consulta <?php echo $e->getMessage();?></p>
<?php
desconectarBd($conn);
}
}