alex_not 0 Denunciar post Postado Março 25, 2015 Bom dia a todos Eu não sou programador PHP, porém aqui na empresa me deram um pepino que estou com problemas para resolver. Eu preciso mostrar uma query em uma tabela. Ao tentar fazer isso o código ignora minha query e lê dados de uma query anterior criada pelo programador original do código... Segue um trecho: <?php $strQueryGG = "SELECT dbo.Cliente_Login.Id_Vip, dbo.Cliente_Login.Tx_Nome, dbo.Cliente_Login.Id_Cliente, dbo.Cliente_Login.Tx_UF, dbo.Cliente_Login.Tx_Login, "; //... Query longa, cortei trechos ... $strQueryGG = $strQueryGG . "WHERE dbo.CLIENTE.cd_cliente = " . $sCampos[1] ; $resGG = $db->select($strQueryGG); $numGG = $db->num_rows($resGG); for ($gg=0;$gg<$numGG;$gg++) { extract( $db->fetch($resGG) ); echo "<tr><td>" . convertToSQL($raz_soc) . "</td><td>" . convertToSQL($ds_comarca) . "</td><td> OI MUNDO </td><td>" . convertToSQL($cd_cliente) . "</td><td>" . convertToSQL($ds_sigla_unidade) . "</td><td>" . $no_pro . "</td></tr>"; } ?> Alguém consegue apontar meus erros? Tenho certeza que são muitos.Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Março 25, 2015 A query anterior a $strQueryGG não está com o mesmo nome de variável? Faça uma coisa... tente limpar $strQueryGG antes de iniciar. <?php $strQueryGG = ""; $strQueryGG = "SELECT dbo.Cliente_Login.Id_Vip, dbo.Cliente_Login.Tx_Nome, ..."; //... Query longa, cortei trechos ... Outra coisa, concatene desta maneira: $strQueryGG = "blabla"; $strQueryGG .= "Oiblabla2"; // * Imprimirá "blablaOiblabla2" Compartilhar este post Link para o post Compartilhar em outros sites
alex_not 0 Denunciar post Postado Março 26, 2015 O problema era na query mesmo, estava usando como filtro a variável errada, ai ele gerava uma query vazia e por algum motivo utilizava a query anterior, que possuia dados. Agora estou com um novo problema. Preciso gerar uma planilha com os dados e embora eu consiga formatar o resultado da query, ela não abre o arquivo .csv no final. O que fiz de errado? Acredito que eu esteja usando o header de forma errada, eu preciso abrir uma nova pagina html para utilizar esse header? Obrigado! //Botão para gerar csv, no meio do código <input type="button" name="Submit" class="botao" value="Gerar Planilha" onClick="geracsv()"> function geracsv() { <?php $out = ''; while ($l = mssql_fetch_array($resGG, MSSQL_ASSOC)) { foreach($l AS $key => $value){ $pos = strpos($value, '"'); if ($pos !== false) { $value = str_replace('"', '\"', $value); } $out .= '"'.$value.'",'; } $out .= "\n"; } header("Content-type: application/csv"); header("Content-Disposition: attachment; filename=file.csv"); header("Pragma: no-cache"); echo $out; ?> } Compartilhar este post Link para o post Compartilhar em outros sites
alex_not 0 Denunciar post Postado Abril 29, 2015 Boa tarde O caso estava resolvido, até me reportarem que o download do arquivo .csv não funciona para o afável Internet Explorer. Ao clicar no link utilizando o IE, a tabela é mostrada na tela, ao invés de abrir a janela de download, com a formatação de arquivos .csv: PRT000006001.1 ;;UNIÃO FEDERAL;MANDADO DE SEGURANÇA;INSS;PORTO ALEGRE; ;PROCESSO JUDICIAL ENCERRADO; 20567.71.293-7 ;;DELEGADO DA RECEITA FEDERAL;MANDADO DE SEGURANÇA;INSS;PORTO ALEGRE;REMOTA;PROCESSO SUSPENSO; Já procurei diversas soluções (a maioria envolvendo headers), mas não consegui implementar nenhuma delas, pois como disse anteriormente, só estou quebrando um galho aqui e meu conhecimento em PHP/HTML é perto de nulo. Segue o trecho do código: while ($l = mssql_fetch_array($resCSV, MSSQL_ASSOC)) { foreach($l AS $key => $value){ $pos = strpos($value, '"'); if ($pos !== false) { $value = str_replace('"', '\"', $value); } $out .= ''.$value.';'; } $out .= "\n"; } //Verifica se você tem permissão de leitura e escrita neste diretorio if(fwrite($file=fopen($file_path,'w+'),$out)) { fclose($file); echo "<a href=" . $file_path . " download=" . $file_path . ">Salvar planilha excel .CSV</a>"; } else { echo "Problemas ao gerar o arquivo, tente novamente!"; } Grato desde já por qualquer ajuda! Compartilhar este post Link para o post Compartilhar em outros sites