我遇到了一个有趣的问题。有一个foreach循环,这个循环将数据插入到mysql表中,形成excel文件中每一行的excel文件。有时重复数据来自excel,这是很自然的。当这个重复数据试图插入时,我想要一个弹出窗口询问用户他是否有兴趣插入重复数据。如果是,PHP foreach循环中的其余代码将执行,否则它将继续下一个循环。请帮忙。
答案 0 :(得分:0)
在PHP中,您需要处理excel文件并在看到重复时暂停处理,并在会话中存储文件的当前位置。您的代码应该查看此标志以通过弹出窗口警告用户。一旦用户选择是,您将移动文件中的位置并继续处理。这可以通过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?');
}