[英]How to import the column value as comma from mysql data to csv file using php
[英]PHP and MySQL: Import CSV using Column Value as table
我在頁面上放置了我當前的代碼(不多),以供您參考(當然要減去真實密碼): http : //mafgiftshop.org/MAF/queue/MP/for-reference.php
$delimiter = ',';
$db = new mysqli('localhost', 'mafgifts_mp', '******', 'mafgifts_mp');
if (($handle = fopen("mpdata.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, $delimiter)) !== FALSE) {
foreach($data as $i => $content) {
$data[$i] = $db->real_escape_string($content);
}
echo $data[$i]."";
$db->query("INSERT INTO `MP`
(GiftAmount,GoalAmount,GiftDate,FundID,FundDescription)
VALUES('" . implode("','", $data) . "');");
}
fclose($handle);
}
//THE ABOVE CODE PROPERLY PUTS ALL THE DATA INTO THE MySQL DATABASE, BUT I'M NOT
//ABLE TO DO THE CALCULATIONS I WANT AND INSERT ONLY THE RESULTING DATA.
因此,我有一個包含5列信息的CSV文件。 沒有空白值。 例如:
GiftAmount,GoalAmount,GiftDate,FundID,FundDescription(此行不在CSV中;僅供參考)
我需要做的是在FundID相同的情況下添加“ GiftAmount”列,並將結果放入MySQL數據庫。 因此,對於上述數據,這將是生成的MySQL表:
我正在使用PHP來完成此任務,該PHP文件將每天在Cron作業中運行,因為CSV文件將根據向不同資金提供的新禮物而每天更改。
順便說一下,該CSV文件當前有8,794行以及許多很多FundID。
我將使FundID在MYSQL中成為唯一鍵,然后使用INSERT INTO ... ON DUPLICATE KEY UPDATE查詢。
$db->query("INSERT INTO `MP` (GiftAmount,GoalAmount,GiftDate,FundID,FundDescription) VALUES('" . implode("','", $data) . "') ON DUPLICATE KEY UPDATE GiftAmount=GiftAmount+".intval($data[0]).";");
假定GiftAmount是一個數字列,並且您沒有將其存儲為字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.