Mysql
 sql >> база данни >  >> RDS >> Mysql

Изпълнете 2 sql заявка с 1 заявка за запазване на резултата от заявката като .csv формат

Не искате да се изпълнява като една заявка. Обикновено е по-добре да имате много малки прости заявки вместо една сложна заявка. Всъщност бих ви предложил да актуализирате кода си, за да има още повече заявки, например съдържанието на „not exists()“ не трябва да се прави като подзаявка, трябва да бъде напълно отделна заявка за подобряване на производителността.

Има две части, първо трябва да изпратите правилните HTTP заглавки, за да задействате изтегляне на CSV:

header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="export.csv";' );

След това просто отпечатайте данните във формат CSV:

while ($row = mysql_fetch_array($myQuery)) {
  $first = true;
  foreach ($row as $cell) {
    if ($first)
      $first = false;
    else
      print ',';

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

Забележка:CSV е лош формат и това ще работи само в някои издания на Microsoft Excel. В зависимост от това къде живее потребителят (например:Европа) може да не работи правилно. За повечето издания на Excel обаче горното ще работи. Няма добро решение, освен да избягвате използването на CSV.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да използвам транзакции в моята MySQL съхранена процедура?

  2. получите предишна стойност на място за нулеви редове

  3. Как трябва да се справя с теглата на дублиращи се записи в индекса за търсене на MyISAM?

  4. как да получите стойности за едно и също име на колона от две различни таблици в SQL

  5. Django – OperationalError:(1054, неизвестна колона „xx“ в „списък с полета“)