marcosfj1 0 Denunciar post Postado Fevereiro 16, 2011 Bom galera seguinte, eu já consegui fazer isso, mas quero aperfeiçoar, e preciso da ajuda de vcs. Primeira coisa q quero melhor: Atualmente tem la a pagina(clientes_bloqueados.php) de dados do meu banco, e la no final dela eu coloquei: <tr align="right" > <td colspan="3" > <a href=caminho/excel_clientes_bloqueados.php'>Gerar Arquivo Excel</a></td> </tr> Bom qdo o cara clica no link, beleza gera o arquivo....mas nao queria q estivesse em um link queria q fosse num botao(tipo submit), por uma questao de aparencia...como eu poderia fazer isso? ========================================================================================= Segunda mudança: Esta acho q vai dar trabalho, é na pagina excel_clientes_bloqueados.php Bom vou postar todo o codigo dela para vcs verem: <table> <tr> <td> <?php $arquivo = 'clientes_bloqueados.xls'; $html = ''; $html .= '<table broder = "1">'; $html .= '<tr>'; $html .= '<td colspan="4"></tr>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td colspan="4">Pontos Clientes</tr>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td colspan="4"></tr>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td><b>Nome</b></td>'; $html .= '<td><b>Email</b></td>'; $html .= '<td><b>Dt_Pedido</b></td>'; $html .= '<td><b>Meses</b></td>'; $html .= '<td><b>Dt_Reativacao</b></td>'; $html .= '<td><b>Controle</b></td>'; $html .= '<td><b>Tipo 1-Logista / 2-Profissional</b></td>'; $html .= '</tr>'; $sql="SELECT *, DATE_FORMAT(dt_reativacao, '%d/%m/%y') AS dt_reativacao, DATE_FORMAT(dt_pedido, '%d/%m/%y') AS dt_pedido FROM clientes_bloqueados WHERE id_cliente IS NOT NULL AND st_ativo = 0 AND meses >= 4"; // $req = mysql_query($sql) or die(mysql_error()); while ($cp = mysql_fetch_array($req)) { $html .= '<tr>'; $html .= '<td align="left">'.$cp["nome"].'</td>'; $html .= '<td align="left">'.$cp["email"].' </td>'; $html .= '<td align="left">'.$cp["dt_pedido"].'</td>'; $html .= '<td align="left">'.$cp["meses"].'</td>'; $html .= '<td align="left">'.$cp["dt_reativacao"].' </td>'; $html .= '<td align="left">'.$cp["controle"].' </td>'; $html .= '<td align="left">'.$cp["tipo_cliente"].' </td>'; $html .= '</tr>'; } $html .= '</table>'; header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT"); header ("Cache-Control: no-cache, must-revalidate"); header ("Pragma: no-cache"); header ("Content-type: application/x-msexcel"); header ("Content-Disposition: attachment; filename=\"{$arquivo}\"" ); header ("Content-Description: PHP Generated Data" ); echo $html; exit; ?> </td> </tr> </table> Bom a pagina funciona perfeitamente, mas o q é ruim é q nela eu estou pegando os dados de uma tabela, assim como na pagina anterior q chama ela, mas lá em clientes_bloqueados.php eu posso fazer uma busca para restringir o numero de resultados... Entao o q eu queria q qdo cara fizesse a busca e clicasse em gerar excel gerasse aquilo q foi mostrado, ou seja a consulta sql mas limitada a busca, e nao geral como eu fiz Alguem saberia m ajudar? Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 16, 2011 se eu entendi bem , e so você botar LIMIT na query hehe .. Compartilhar este post Link para o post Compartilhar em outros sites
gremio10 14 Denunciar post Postado Fevereiro 16, 2011 Gerando arquivo CSV ... Mysql2CSV Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 16, 2011 se eu entendi bem , e so você botar LIMIT na query hehe .. Nao cara nao é bem isso. Na pagina de clientes_bloqueados.php tem la as consultas e um campo de busca, entao se o cliente buscar pelo campo NOME o nome Marcos, vai trazer todos os ´Marcos´ da tabela....isso ta beleza e esta funcionando Mas o q eu queria, eu busquei o nome Marcos veio todos, ai qdo clicar em gerar execel, mandar o resultado da busca para a outra pagina excel_clientes_bloqueados...pois la eu refaço a consulta mas queria q ela recebesse o valor da busca Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 16, 2011 no caso o resultado do excel gerado ? Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 16, 2011 Gerando arquivo CSV ... Mysql2CSV Vixi cara este codigo seu é mto louco hehe, nao dou conta de mexer nisso nao....alem do q queria melhorar o meu q já esta funcionando e nao partir do zero no caso o resultado do excel gerado ? Sim, como passar aquilo q eu busquei numa pagina, para a condição sql da pagina em q gero o excel Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 16, 2011 você quer passar todos os resultados ?? não podia ser so a query pra poder executar na pagina que gera o xls ? Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 16, 2011 você quer passar todos os resultados ?? não podia ser so a query pra poder executar na pagina que gera o xls ? Uai poderia atualmente minha query da pagina do excel esta assim: $sql="SELECT *, DATE_FORMAT(dt_reativacao, '%d/%m/%y') AS dt_reativacao, DATE_FORMAT(dt_pedido, '%d/%m/%y') AS dt_pedido FROM clientes_bloqueados WHERE id_cliente IS NOT NULL AND st_ativo = 0 AND meses >= 4"; Já na pagina q tem a possibilidade de busca ela tbm esta assim, porem se eu busco algo, como o nome Marcos...claro ela se modifica para: $sql5="SELECT *, DATE_FORMAT(dt_reativacao, '%d/%m/%y') AS dt_reativacao, DATE_FORMAT(dt_pedido, '%d/%m/%y') AS dt_pedido FROM clientes_bloqueados C WHERE id_cliente IS NOT NULL AND st_ativo = 0 AND meses >= 4 AND AND {$_POST['pesquisa_campo']} LIKE '%{$_POST['pesquisa_valor']}%' Onde $_POST['pesquisa_campo' = nome e {$_POST['pesquisa_valor']}% = Marcos Ai q esta como mandar a consulta gerada apos a busca para a pagina do execel....dando assim a possibilidade do usuario gerar um arquivo excel baseado naquilo q ele pesquisou Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 17, 2011 Uai expliquei tudo isso pra nao me ajudar hehe Mais alguem poderia tentar me orientar em uma das duas duvidas q eu tenho? valeu Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 17, 2011 2 ands ? na query .. AND meses >= 4 AND AND Compartilhar este post Link para o post Compartilhar em outros sites
AmareshinO 0 Denunciar post Postado Fevereiro 17, 2011 Kra, ja passei por esse problema tentando exportar relatórios... Minha solução foi: faça uma página php que escreva um HTML em branco +- assim: <?php header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT"); header ("Cache-Control: no-cache, must-revalidate"); header ("Pragma: no-cache"); header ("Content-type: application/x-msexcel"); header ("Content-Disposition: attachment; filename="nome_do_seu_arquivo.xls" ); header ("Content-Description: PHP Generated Data" ); echo '<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf8" /> </head> <body> AQUI VOCE CRIA SUA TABELA EM HTML NORMALMENTE </body> </html>'; ?> O arquivo que chama este "conversor HTML>XLS" seria uma framework, onde voce faz as consultas de SQL e so indica este arquivo .php (ou se voce fizer em uma classe) para exibir o resultado e ja aparecer como download! CLARO que daki voce adapta para seu uso! boa sorte! abracos! Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 17, 2011 Opa cara agradeco a ajuda....mas esta parte de gerar o arquivo eu já consegui, olha la no meu primeiro post aqui no topico O problema é que eu queria mandar o resultado da consulta para a proxima pagina, para que eu nao precisasse fazer a consulta de novo....e assim qdo o cara fizer um busca, restringindo assim a consulta sql, ele exportaria para a proxima pagina esta consulta Consegui explicar? valeu Compartilhar este post Link para o post Compartilhar em outros sites
Andrey Knupp Vital 136 Denunciar post Postado Fevereiro 17, 2011 você vai ter que gravar em session cara , eu não acho muito bom , eu se foçe você faria uma SESSION gravando a SQL e botaria um if pra poder fazer a consulta e gerar o xls .. abraços Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 18, 2011 Como eu poderia fazer isso por SESSION alguem sabe me orientar? se possivel um exemplo Valeu Compartilhar este post Link para o post Compartilhar em outros sites
Periscuelo 20 Denunciar post Postado Fevereiro 18, 2011 Basta gravar a query na sessão e executar depois. Caso o resultado da consulta não seja enorme, você pode gravar este resultado na sessão e utilizado para exportar quando necessário, sem ter de consultar o banco novamente. Exemplo de SESSAO Abraços. Compartilhar este post Link para o post Compartilhar em outros sites
wolfphw 60 Denunciar post Postado Fevereiro 18, 2011 index.php <?php session_start(); $sql = "SELECT * FROM tabela WHERE nome LIKE '%Marcos%'"; $_SESSION['sessao_sql'] = $sql; header("Location: mostrar.php"); ?> mostrar.php <?php session_start(); echo $_SESSION['sessao_sql']; ?> Só lembrando, o session_start().. tem que ser antes de qualquer escrita na tela, o mais recomendável, ela tem que estar no primeira linha da sua página Compartilhar este post Link para o post Compartilhar em outros sites
marcosfj1 0 Denunciar post Postado Fevereiro 18, 2011 Opa galera agora sim....valeu ai quem ajudou, deu certo....nao imaginava que por SESSION daria para exportar a consulta, mto obrigado mesmo Quanto a primeira pergunta que fiz de colocar num botao o link, esta era mais simples e já resolvi, fica a resposta pra quem precisar <input type='button' value='Gerar Arquivo excel' onclick="window.location=caminho/excel_clientes_bloqueados.php';"/> valeu Compartilhar este post Link para o post Compartilhar em outros sites