我遇到了一个有趣的问题。这里有一个foreach循环,这个循环把数据从一个excel文件中的每一行插入到mysql表中。有时重复的数据会从excel中出来,这是很自然的。当此重复数据尝试插入时,我希望弹出窗口询问用户他是否有兴趣插入重复数据。如果是,PHP foreach循环中的其余代码将执行,否则将继续执行下一个循环。请帮帮忙。
发布于 2014-04-08 18:25:26
在PHP中,您需要处理excel文件,并在看到副本时停止处理,并存储文件的当前位置,可能是在会话中。您的代码应该查看此标志,以便通过弹出窗口提醒用户。一旦用户选择yes,您就可以移动文件中的位置并继续处理。这可以通过AJAX实现,也可以不通过多个提交实现。
下面是一些伪代码:
// is there a current saved pos?
$pos = getSavedPos();
if ($pos) {
moveToPos($pos);
}
// process file
while (!$endOfFile) {
$pos = getCurrentPosOfFile();
$data = getRowData();
$duplicate = isDuplicateData($data);
if ($duplicate) {
savePos($pos);
break;
}
else {
insertDataIntoDb($data);
}
}
// code elsewhere
if ($duplicate) {
alert('This file contains duplicate information. Do you wish to continue?');
}https://stackoverflow.com/questions/22933790
复制相似问题