Yo cambiaria unas cuantas cosas...
Por ejemplo, en vez de
Código PHP:
cojeDatos($tabla,$dia1,$mes1,$dia2,$mes2){
Usaria
Código PHP:
cojeDatos($tabla,$fecha_inicio,$fecha_fin){
Menos parámetros, y te servirá para el 2015 tb.. .;)
Despues, convertiria la fecha que le pasas "dd/mm/YYYY" a una estandar (el formato de xx/xx/xxxx es americano o ingles, y se lee como mm/dd/yyyy!!!). Por ejemplo, cambiale los / por - (dd-mm-YYYY). A eso le metes un strtotime, y ya tienes la fecha en segundos, y puedes hacer el bucle con ella...
Por ejemplo:
Código PHP:
cojeDatos($tabla,$fecha_inicio,$fecha_fin){
$resultado=array();
$fecha_inicio = strtotime( str_replace('/', '-', $fecha_inicio) );
$fecha_fin= strtotime( str_replace('/', '-', $fecha_fin) );
for($a = $fecha_inicio; $a <= $fecha_fin; $a += (60*60*24) ) { //Le sumamos 1 día a $a
$query = $this->db->query('SELECT fechaalbaran, descripcionarticulo, count(descripcionarticulo) AS cantidad FROM '.$tabla.' WHERE fechaalbaran = "'.date("d/m/Y", $a).'" GROUP BY descripcionarticulo ORDER BY count(descripcionarticulo) DESC');
.......
}
Así la has "simplificado" un poco... ahora te queda obtener esos datos y guardarlos ;)
Comprueba que la query sea correcta ;)
Saludos!