1
我在一个有趣的问题分解成PHP循环。有一个foreach循环,这个循环将数据插入到MySQL表形成在Excel文件中的每行一个Excel文件。有时重复的数据是从excel中自然出来的。当这种重复数据试图插入,我希望有一个弹出窗口询问用户,他是有意插入重复数据与否。如果是,PHP foreach循环中的其他代码将执行,否则它将继续下一个循环。请帮忙。继续或使用javascript
我在一个有趣的问题分解成PHP循环。有一个foreach循环,这个循环将数据插入到MySQL表形成在Excel文件中的每行一个Excel文件。有时重复的数据是从excel中自然出来的。当这种重复数据试图插入,我希望有一个弹出窗口询问用户,他是有意插入重复数据与否。如果是,PHP foreach循环中的其他代码将执行,否则它将继续下一个循环。请帮忙。继续或使用javascript
在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?');
}
使用'continue' PHP运营商和'break' PHP的运营商?无论如何,你是使用AJAX还是什么?我看不出你如何能做到一个弹出,而无需使用AJAX :) – briosheje
这是问题所在。我想使用JavaScript继续或打破继续或打破我的PHP循环。 –
然后你不应该(至少对我)做一个PHP循环,而是一个JavaScript循环。我个人建议你创建一个简单的PHP脚本,将只得到excel文件的线路(通过该线路从JavaScript),并将其插入到数据库中。如果发现该行存在,则将错误代码返回给javascrip,以便在任何情况下提示用户选择是否要执行查询。 – briosheje