添加/更新CSV文件的特定行中的数据

时间:2017-06-01 03:46:15

标签: javascript php jquery csv

我开发了一个程序 - 两个CSV文件的数据匹配器。 CSV文件中数据的示例输入如下。

user_transaction:

用户名|电子邮件|金额|空白|总计|不适用|好的银行名称|日期

enter image description here

bank_transaction:

日期|交易细节|不适用|位置|空白| 状态 |金额

enter image description here

所以我的程序所做的就是寻找与用户数据匹配的所有银行交易(日期和金额)。

这是我的代码做的.. jdoodle.com/a/3Ev

有什么想法吗? 单击特定行的完成时,应将数据添加到bank_transaction CSV文件的状态行。 我的目的是在done标记我检查/确认银行交易明细的所有内容。

CSV格式的示例输出:enter image description here

1 个答案:

答案 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, ',', '"');
}