php - 如何生成 csv 而不添加到 php 中的表

标签 php mysql csv

我当前通过 php 脚本生成一个 csv 文件,这发生在一系列事件之后,如下所示

enter image description here

但现在我需要生成 csv 而不将其添加到表中,首先这可能吗?如果是这样,你能帮我一下吗

我的PHP代码添加到表

    <?php

$table_count = mysql_query("SELECT TABLE_NAME FROM information_schema.tables WHERE table_schema = 'bookers' AND table_name LIKE 'b_table_%' ");

while($row = mysql_fetch_array($table_count)){

$table = $row["TABLE_NAME"];

$query = ("CALL Dummy_2('{$table}')");
$excute = mysql_query($query);
?>

虚拟_2 sp

BEGIN   

SET @sqlstring = CONCAT("INSERT INTO report(ID, name, accountname, accountID, status, count, earliest_booking,recent_booking)
SELECT  DISTINCT b.ID, name, name, c.ID, status, total_impr, min(a.timestamp), max(a.timestamp)
FROM    ",b_table," a INNER JOIN bookers b on a.ID = b.ID INNER JOIN accounts c on b.accountID = c.accountID

WHERE   a.timestamp > DATE_ADD(NOW(), INTERVAL -3 YEAR)
GROUP BY ID;");
    PREPARE stmt FROM @sqlstring;
    EXECUTE stmt;

END$$

我的 php 代码生成 csv

require 'exportcsv.inc.php';

$table="report"; // this is the tablename that you want to export to csv from mysql.

exportMysqlToCsv($table);

如果需要也可以放入exportcsv.inc.php

P.S - 我是否有可能创建一个临时表并将数据插入到 csv

最佳答案

您可以将数据直接放入 csv 文件中。您只需获取一个数组并将数据插入到该数组中即可。将数据添加到该数组后,您必须运行一个循环,使用文件处理概念将数据从数组放入 csv。

这里是一个示例代码,可以帮助您理解这个概念。

<?php

$list = array
(
"Peter,Griffin,Oslo,Norway",
"Glenn,Quagmire,Oslo,Norway",
);

$file = fopen("contacts.csv","w");

foreach ($list as $line)
    {
    fputcsv($file,explode(',',$line));
    }

fclose($file); 

?>

关于php - 如何生成 csv 而不添加到 php 中的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27631913/

相关文章:

php - 如何在 Wordpress wp_nav_menu 中添加 link_after 和 lin_before 类?

php - 获取间隔之间的温差

php - 为什么我会收到这些错误? php 和 mysql

json - 如何使用 node.js 访问 json 对象的子元素

csv - 如何在Fortran中读取我的csv文件?

php 数组 foreach 循环

php - PDO MySQL : Warning: Packets out of order

mysql - 使用带限制的 CASE 子查询更新 mysql 表

php - 将图像上传到 codeigniter 中的 MySQL 数据库 blob

python - pandas 数据框 to_csv 适用于 sep ='\n' 但不适用于 sep ='\t'