Estoy trabajando en un proyecto en el cual la gente se puede afiliar a una organizacion, y necesito que los registros de la tabla donde se guardan los datos de toda la gente afiliada, se exporten a un archivo Excel.
El tema es que al hacer la consulta php, el tiempo de ejecucion de la consulta, supera los 30 segundos, por que los datos son muchisimos. Me imagino que eso se supera configurando el tiempo de espera de la ejecucion de un script, con la funcion 'ini_set()', pero me gustaria saber si conocen otra forma de hacer esto, en lo posible mas rapido y sin necesidad de usar la funcion 'ini_set()'.
Se me ocurrio hacerlo con la funcion 'system()' y pasarle al interprete el codigo php para que lo ejecute y asi mejorar el tiempo de ejecucion, siguiendo mi razonamiento de que: "de esta forma lo hago mas rapido por que le paso el script directamente al interprete".
Pero no se si estoy en lo cierto con esto.
El escenario es este:
Lenguaje: PHP
Base D: PostgreSql 8
El codigo que tengo en mente, seria algo asi.
Código PHP:
header('Content-type: application/vnd.ms-excel; name=archivo_excel.xls');
header('Content-disposition: attachment; filename=archivo_excel.xls');
chdir('C:\server\php5');
system('php -r "$link = pg_connect(\'host\',\'user\',\'pass\');if($link){if(mysql_select_db(\'datos\')){$res = pg_query(\'select * from prueba\');while($fila=pg_fetch_row($res)){echo $fila[0].\"\t\".$fila[1].\"\n\";}}}"');
Espero que me ayuden. Desde ya muchas gracias.