[英]PHP MYSQL query to delete all values that are not in loop
我試圖考慮一個可以滿足我想要的查詢,但是這讓我很困惑,以至於我想為某些想法而絞盡腦汁。
我有一個excel文件,該文件被讀取並轉換為每一行和每一列的循環。
excel文件上大約有5000個值,因此發生了很多循環,我希望它在第二個循環內查詢數據庫中的列代碼,並且如果我的數據庫中有一個值不是代碼循環它會刪除它。 並且循環中所有不在數據庫中的代碼都將在頁面上回顯。
我的腳本工作正常,但是它只是在構造我感到困惑的查詢。
西蒙,任何建議都值得贊賞
我的代碼:
fileName = '2_1_2013_UPC_customer.xlsx';
$objPHPExcel = PHPExcel_IOFactory::load("2_1_2013_UPC_customer.xlsx");
include_once dirname(__FILE__) . ('/PHPExcel/Writer/Excel2007.php');
require_once dirname(__FILE__) . '/PHPExcel/IOFactory.php';
$objPHPExcel = PHPExcel_IOFactory::load("2_1_2013_UPC_customer.xlsx");
foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) {
$worksheetTitle = $worksheet->getTitle();
$highestRow = $worksheet->getHighestRow(); // e.g. 10
$highestColumn = $worksheet->getHighestColumn(); // e.g 'F'
$highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);
$nrColumns = ord($highestColumn) - 64;
for ($row = 2; $row <= $highestRow; ++$row) {
for ($col = 0; $col < $highestColumnIndex; ++$col) {
$cell = $worksheet->getCellByColumnAndRow($col, $row);
$val = $cell->getValue();
$dataType = PHPExcel_Cell_DataType::dataTypeForValue($val);
if ($val == null) {
} else {
if ($col == 0) {
$name = $val;
}
if ($col == 2) {
$description = $val;
}
if ($col == 3) {
$reference = $val;
}
if ($col == 4) {
$weight = $val;
}
}
}
}
遍歷excel文件時,構建一個包含所有代碼的數組。 將所有代碼保存在excel文件中后,查詢數據庫並獲取其中所有代碼的數組。 然后,您可以輕松比較它們。 一旦不必擔心所有php_excel代碼,它應該會更容易做。 將兩個數組分開后,可以使用php array_search函數檢查兩個數組中是否存在代碼,然后進行處理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.