【发布时间】:2018-08-13 06:58:55
【问题描述】:
以前我有两张桌子。 我有一个 php 脚本将一个表的内容复制到表 2,以识别复制的 id 我制作了一个 csv 文件来检查插入的最后一行 id,如下所示
"Date",lastid(int)
之前我通过使用 fopen 作为 0 和 1 使用 csv 的索引来检查最后一个 id。
但现在我有另一个表 3 复制到表 2,过程是相同的。但是当我为新表写入时,它会被覆盖,所以我无法识别前一个表。如果我附加它,文件将得到扩展。有什么办法可以把表1的内容放在第一行,表2的最后一个id放在第二行
"Date",lastid(int), // for t1 copied to t2
"Date",lastid(int) // for t3 copied to t2
表 1 取 0、1,表 2 取 2,3。即使先完成表 2。
public function writeNumberOfRowsCopiedForTable2FromTable1($row_write)
{
$file = fopen('rowsCopied.csv', 'w+');
fputcsv($file, $row_write);
fclose($file);
}
调用它
writeNumberOfRowsCopiedForTable2FromTable1([$this->global_date, $last_row_copied]);
从 t1 获取 t2 中插入值的值
public function getLastRowCopied()
{
$end_row_id = 0;
if (file_exists('rowsCopied.csv')) {
$handle = fopen('rowsCopied.csv', 'r');
$data = fgetcsv($handle);
$end_row_id += intval($data[1]);
$this->global_date = $data[0];
fclose($handle);
}
return $end_row_id;
}
希望我解释了这个问题。 有人知道答案吗?
【问题讨论】:
-
能否包含您当前的代码,它会有所帮助。虽然我不确定这是做你想做的事的好方法。
-
@NigelRen 我已经更新了代码。你能检查一下吗?