我当前通过 php 脚本生成一个 csv 文件,这发生在一系列事件之后,如下所示
但现在我需要生成 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/