我开发了一个程序 - 两个CSV文件的数据匹配器。 CSV文件中数据的示例输入如下。
user_transaction:
用户名|电子邮件|金额|空白|总计|不适用|好的银行名称|日期
bank_transaction:
日期|交易细节|不适用|位置|空白| 状态 |金额
所以我的程序所做的就是寻找与用户数据匹配的所有银行交易(日期和金额)。
这是我的代码做的.. jdoodle.com/a/3Ev
有什么想法吗?
单击特定行的完成时,应将数据添加到bank_transaction CSV文件的状态行。
我的目的是在done
标记我检查/确认银行交易明细的所有内容。
答案 0 :(得分:1)
当我单击特定行的完成时,如何将数据添加到状态行
对于表单(您的按钮“完成”)只设置行号(或文件位置从ftell
;然后fseek
关注),它将简化更新。
也不要为CSV使用自定义解析器。试试fgetcsv
// Open file, cursor at the beginning
$stream = fopen('bank_transaction.csv', 'r+', false);
// Take focus position
$idx = filter_input(INPUT_POST, 'ftell', 0, FILTER_VALIDATE_INT);
if ($idx) {
fseek($stream, $idx);
// $maxLineLength - define it earlier
$data = fgetcsv($stream, $maxLineLength, ',', '"');
... update required field ...
// Set position back after read
fseek($stream, $idx);
fputcsv($stream, $data, ',', '"');
}