tengo que sacar reportes de esta vista por lo cual tengo la siguiente estructura
id_empresa | empresa |mes | total
1 | uno |1 | 500000
1 | uno |1 | 5000
2 | dos |1 | 300000
asi sucesivamente para 8,000 registros
Tengo que hacer reportes de aquí con la siguiente estructura
empresa | Enero | Febrero | Marzo | Abril | Agosto| Noviembre | Diciembre
1 | 2000 | 30121 |5000 |6065|5450 |54068 |7000
2 | 4055 | 40121 |5000 |6065|5450 |54068 |7000
3 | 2089 | 80121 |5000 |6065|5450 |54068 |7000
4 | 3580 | 90121 |5000 |6065|5450 |54068 |7000
Entonces hize lo siguiente
Código PHP:
Ver original
<table width="100%" border="1" cellspacing="0"> <thead> <tr> <th>Emisor</th> <? $meses = mysql_query("SELECT mes,anio FROM meses WHERE anio = 2012");//Saco los meses de una tabla para poderlos poner en las cabezeras $m_ulti=$m_ulti['ultimo'];//saco el ultimo mes para el ciclo ?> <th><?= $m['mes'];?></th> <? } ?> </tr> </thead> <tbody> <?php for ($x=1; $x <=8 ; $x++) { // hago el ciclo de las 8 empresas $emi = mysql_query("SELECT emisor FROM emisores WHERE id_emisor = $x");//Obtengo el nombre de la empresa ?> <tr> <td> <?php echo $emi['emisor'];// Lo imprimo en la primera columna ?> </td> <? for ($n=1; $n <=$m_ulti ; $n++) { //empiezo el ciclo para los meses y empezar a calcular los totales por empresa y por mes $importe = mysql_query("SELECT sum(saldo_pendiente) as imp FROM factura_general WHERE id_emisor = $x and mes = $n and anio=2012"); ?> <td><? echo $imp['imp'];// La imprimo ?></td> <? } ?> </tr> <?php//Cierro el tr para que empieze la otra fila } ?> </tbody> </table>
Pero esto se tarda mucho que me sale el fatal_error por el tiempo máximo de ejecución que se supera que son 30 seg
Que podría hacer para acelerar esta consulta ya que tarda mas de 30 seg??
Gracias
Saludos