tubadc 0 Denunciar post Postado Janeiro 9, 2010 Olá galera... seguinte Tenho que gerar um série de invoices em pdf a partir de dados em minha base... Já fiz um script que gera o pdf com as infos que preciso porém, o usuário que irá utilizar o sistema irá gerar de 100 em 100 invoices por vez, então gostaria de que quando o usuário mandar gerar o relatório ele não precise ficar com o browser aberto, ou um popup... gostaria que fosse salvando por trás ( apenas no server) e que o usuário ficasse livre para continuar navegando, e quando gerar o último eu aviso ele por msg... Tem alguma forma de desencadear esta ação sem ser via cronjob? pois para gerar os relatórios o usuário tem de estar logado... Abs Compartilhar este post Link para o post Compartilhar em outros sites
Holt 1 Denunciar post Postado Janeiro 10, 2010 Abre em um iframe invisivel... com os dados para salvar em get... Dai escreve tipo... dai manda um alert javascript do tipo... Os dados estão sendo salvos... e você pode continuar navegando em nosso site até receber a mensagem de "concluissão"... Dai quando acaba tu manda um outro alert através do iframe... Compartilhar este post Link para o post Compartilhar em outros sites
hufersil 145 Denunciar post Postado Janeiro 10, 2010 Abre em um iframe invisivel... com os dados para salvar em get... Dai escreve tipo... dai manda um alert javascript do tipo... Os dados estão sendo salvos... e você pode continuar navegando em nosso site até receber a mensagem de "concluissão"... Dai quando acaba tu manda um outro alert através do iframe... Você pode fazer um verificador em JavaScript, que consulta o servidor de tempos em tempos. Grava na sessão alguma informação dizendo "tem invoices na fila". Então, essa informação é passada para o javascript, que chama o servidor. Quando a fila esgotar, limpa a informação da sessão. var hasInvoices = <?php echo !empty($_SESSION['invoices']) ? 'true' : 'false'; ?>; // executa a checagem a cada 2 segundos (2000 milisegundos) var interval = setInterval(function(){ if( hasInvoices ){ // usando jquery $.post('caminho/do/server/para/checar.php', null, function(res){ if( res == 'terminou' ){ alert("Os invoices foram gerados com sucesso!"); hasInvoices = false; // limpa o intervalo clearInterval( interval ); } }); } }, 2000); @braços Compartilhar este post Link para o post Compartilhar em outros sites