Sonra (başlıklar kalır) tablo verileri silmek kullanıcıların geçici verilerini çekmek için izin ver?

2 Cevap php

Ben başlık bu soruyu en iyi yolu bilmiyorum ama aşağıdaki amacı gerçekleştirmek için çalışıyorum:

Bir istemci kendi profiline açtığında, onlar CSV formatında varolan bir veritabanından veri indirmek için bir bağlantı ile sunulmaktadır. Ancak sürecin, ben bu yüzden benim planıydı onlar bağlantıyı tıklayın her zaman 'taze' olması bu veriler için istiyorum, çalışan - bir kullanıcı link tıklandığında ve CSV dosyasını indirildikten sonra veritabanı tablo 'silme' tüm olur Bunu nüfuslu veri sonraki sette kadar veri ve taze başlangıç ​​(boş).

My EXISTING CSV creation code:

<?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;
?>

herhangi bir fikir?

2 Cevap

$query = mysql_query('TRUNCATE TABLE '.$table);

veya bunları arşivlemek istiyorsanız

$query = mysql_query('RENAME TABLE db_name.'.$table.' TO db_name.'.$table.time());
$query = mysql_query('CREATE TABLE db_name.'.$table.' ( /* table structure */ )');

Ben son derece irade dışarı silinebilir bir veritabanı tablo var neden veri 'taze' olması gerekir ve neden olarak kafam karıştı.

can değil sadece ihracat ne verileri CSV doğrudan istiyorum ve bütün yazı-to-ve-sonradan-silme--db adımı atlayın?

Ben toplama ve bu 'geçici tablo' saklanması ne olursa olsun verileri başka bir yerde birikmiş olabilir düşünürdüm, ve CSV istediğiniz zaman sonra, sadece yerine anlamsız bir masa etrafında tutmak o zaman ihtiyacınız olan tüm verileri alabilirsiniz .