Ver Mensaje Individual
  #3 (permalink)  
Antiguo 02/05/2011, 10:39
russellhoff
 
Fecha de Ingreso: noviembre-2010
Ubicación: laudio
Mensajes: 61
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to al

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);
    }
}