I am using fopen
, to export the return of a select, it is exporting correctly, but in certain fields it is appearing ""
as I remove ""
from export, leaving only ,
Because it is coming out as follows: "rice", "sweet potato"
I need to get out: rice, sweet potatoes ...
<?php
require('data/conexao.php');
$periodo = $_GET['folheto'];
$data = date("Ymd");
$hora = date("His");
$nomeExport = "exportacao-".$data;
$paginaAtual = "";
$limite = 24;
$conta = 0;
$export = $conn->prepare("SELECT
f.prod_folheto_produto AS produto,
f.prod_folheto_marca AS marca,
f.prod_folheto_tipo1 AS descricao,
f.prod_folheto_tipo2 AS subdescricao,
SUBSTRING_INDEX(f.prod_folheto_preco,'.',1) AS preco,
SUBSTRING_INDEX(f.prod_folheto_preco,'.',-1) AS centavos,
REPLACE(f.prod_folheto_gramatura,',','.') AS gramatura,
(CASE
WHEN f.prod_folheto_pais = 0 THEN 'BRA' ELSE p.iso3
END) AS pais,
prod_folheto_pagina AS pagina
FROM
produto_folheto AS f
LEFT JOIN cep_paises AS p
ON p.numcode = f.prod_folheto_pais
WHERE
prod_folheto_periodo = '$periodo'
ORDER BY prod_folheto_pagina ASC");
$export->execute(array());
$paginaAtual = "";
$limite = 24;
$conta = 0;
$novoArr = array();
while($dados = $export->fetch()){
if($paginaAtual ==""){
$paginaAtual = $dados["pagina"];
$conta = 0;
}elseif($paginaAtual != $dados['pagina']){
while($conta < $limite){
$novoArr[] = "-,-,-,-,-,-,-";
$conta++;
}
$paginaAtual = $dados["pagina"];
$conta = 0;
}
$conta++;
$novoArr[] =
$dados["produto"] .","
.$dados["marca"] .","
.$dados["descricao"] .","
.$dados["subdescricao"] .","
.$dados["preco"] .","
.$dados["centavos"] .","
.$dados["gramatura"] .",";
}
while($conta < $limite){
$novoArr[] = "-,-,-,-,-,-,-";
$conta++;
}
$file = fopen("export/$nomeExport.csv","w");
fprintf($file, chr(0xEF).chr(0xBB).chr(0xBF));
fputcsv($file, array('produto','marca','descricao','subdescricao','preco','centavos','gramatura'));
foreach ($novoArr as $line)
{
fputcsv($file,explode(',',$line));
}
fclose($file);
?>
What I noticed is that ""
appears when you have two words together, for example: "batata doce"