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