首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >允许用户拉取临时数据,然后删除表数据(标题保留)?

允许用户拉取临时数据,然后删除表数据(标题保留)?
EN

Stack Overflow用户
提问于 2010-05-28 04:21:15
回答 2查看 167关注 0票数 0

我不知道这个问题的最好标题,但我正在努力实现以下目标:

当客户登录到他们的配置文件时,他们会看到一个以CSV格式从现有数据库下载数据的链接。这个过程是有效的,但是,我希望这些数据在他们每次点击链接时都是“新鲜的”,所以我的计划是-一旦用户点击了链接并下载了CSV文件,数据库表就会“擦除”所有数据并重新开始(为空),直到下一组数据填充其中。

我现有的CSV创建代码:

代码语言:javascript
复制
<?php
$host = 'localhost';
$user = 'username';
$pass = 'password';
$db = 'database';
$table = 'tablename';
$file = 'export';



$link = mysql_connect($host, $user, $pass) or die("Can not connect." . mysql_error());
mysql_select_db($db) or die("Can not connect.");

$result = mysql_query("SHOW COLUMNS FROM ".$table."");
$i = 0;
if (mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
$csv_output .= $row['Field'].", ";
$i++;
}
}
$csv_output .= "\n";

$values = mysql_query("SELECT * FROM ".$table."");
while ($rowr = mysql_fetch_row($values)) {
for ($j=0;$j<$i;$j++) {
$csv_output .= '"'.$rowr[$j].'",'; 
}
$csv_output .= "\n";
}

$filename = $file."_".date("Y-m-d",time());
header("Content-type: application/vnd.ms-excel");
header("Content-disposition: csv" . date("Y-m-d") . ".csv");
header( "Content-disposition: filename=".$filename.".csv");
print $csv_output;
exit;
?>

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-28 04:50:07

代码语言:javascript
复制
$query = mysql_query('TRUNCATE TABLE '.$table);

或者如果您想将它们存档

代码语言:javascript
复制
$query = mysql_query('RENAME TABLE db_name.'.$table.' TO db_name.'.$table.time());
$query = mysql_query('CREATE TABLE db_name.'.$table.' ( /* table structure */ )');
票数 1
EN

Stack Overflow用户

发布于 2010-05-28 04:25:54

我非常困惑为什么数据需要“新鲜”,以及为什么你有一个可以随意清除的数据库表。

你不能直接把你想要的数据直接导出到CSV中,然后跳过整个写入和删除数据库的步骤吗?

我认为你在这个“临时表”中收集和存储的任何数据都可以在其他地方积累,然后当他们需要CSV时,你可以在那个时候获得所有你需要的数据,而不是保存在一个没有意义的表中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2924592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档