Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Execute 2 consultas sql com 1 consulta para salvar o resultado da consulta como formato .csv


Você não quer que ele seja executado como uma consulta. Geralmente é melhor ter muitas consultas pequenas e simples em vez de uma consulta complicada. Na verdade, sugiro que você atualize seu código para ter ainda mais consultas, por exemplo, o conteúdo do "não existe()" não deve ser feito como uma subconsulta, deve ser uma consulta completamente separada para melhorar o desempenho.

Existem duas partes, primeiro você precisa enviar os cabeçalhos HTTP corretos para acionar um download CSV:
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="export.csv";' );

Depois é só imprimir os dados no formato CSV:
while ($row = mysql_fetch_array($myQuery)) {
  $first = true;
  foreach ($row as $cell) {
    if ($first)
      $first = false;
    else
      print ',';

    print '"' . addslashes($cell) . '"';
  }
  print "\n";
}

Observação:CSV é um formato incorreto e só funcionará em algumas edições do Microsoft Excel. Dependendo de onde o usuário mora (por exemplo:Europa), pode não funcionar corretamente. No entanto, para a maioria das edições do Excel, o acima funcionará. Não há boa solução, exceto evitar o uso de CSV.