Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP MYSQL查询以删除所有不在循环中的值_Php_Mysql - Fatal编程技术网

PHP MYSQL查询以删除所有不在循环中的值

PHP MYSQL查询以删除所有不在循环中的值,php,mysql,Php,Mysql,我正试图想出一个能满足我需求的查询,但它让我感到困惑,所以我想我会为想法挑选一些头脑 我有一个excel文件,它被读取并转换为每行和每列的循环 excel文件上大约有5000个值,因此有很多循环发生,我希望它在第二个循环中查询数据库中的列代码,如果我的数据库中有一个值不是它正在循环的任何代码,它将删除它。任何在循环中但不在数据库中的代码都将在页面上进行回显 我的脚本工作得很好,但它只是构建了我感到困惑的查询 非常感谢您的任何建议, 西蒙 我的代码: fileName = '2_1_2013

我正试图想出一个能满足我需求的查询,但它让我感到困惑,所以我想我会为想法挑选一些头脑

我有一个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;
            }
        }
}

}
fileName='2_1_2013_UPC_customer.xlsx';
$objPHPExcel=PHPExcel_IOFactory::load(“2_1_2013_UPC_customer.xlsx”);
包含一次目录名(_文件)。('/PHPExcel/Writer/Excel2007.php');
需要\u once dirname(\u文件\u)。'/PHPExcel/IOFactory.php';
$objPHPExcel=PHPExcel_IOFactory::load(“2_1_2013_UPC_customer.xlsx”);
foreach($objPHPExcel->getWorksheetIterator()作为$worksheet){
$worksheetTitle=$worksheet->getTitle();
$highestRow=$worksheet->getHighestRow();//例如10
$highestColumn=$worksheet->getHighestColumn();//例如'F'
$highestColumnIndex=PHPExcel_单元::columnIndexFromString($highestColumn);
$nrColumns=ord($highestColumns)-64;
对于($row=2;$row getCellByColumnRow($col,$row);
$val=$cell->getValue();
$dataType=phpexcell\u Cell\u dataType::dataTypeForValue($val);
如果($val==null){
}否则{
如果($col==0){
$name=$val;
}
如果($col==2){
$description=$val;
}
如果($col==3){
$reference=$val;
}
如果($col==4){
$weight=$val;
}
}
}
}

在循环excel文件时,构建一个包含excel文件中所有代码的数组。一旦excel文件中有了所有代码,就可以查询数据库并在那里获得所有代码的数组。然后就可以轻松地对它们进行比较。一旦你不必担心所有php\u excel代码,应该会更容易完成。一旦你有了这两个数组,你就可以将它们分开可以使用php数组搜索功能检查两个数组中是否存在代码,然后进行处理。

在循环excel文件时,在excel文件中构建一个包含所有代码的数组。在excel文件中包含所有代码后,查询数据库并在其中获取所有代码的数组。这样,您就可以轻松地比较它们。一旦创建了excel文件,应该更容易进行比较不必担心所有的php\u excel代码。一旦你将两个数组分开,你可以使用php数组搜索功能检查两个数组中是否存在代码,然后进行处理。

hmm好主意,我可以选择所有引用,将它们作为数组或其他什么,然后我可以使用什么函数来识别那些不存在的引用,然后是新的吗?嗯,我误读了你想要的东西。是的,你需要抓取数据库中所有东西的列表进行比较。编辑我的答案。嗯,好主意,我可以选择所有的引用,将它们作为数组或其他东西,然后我可以使用什么函数来识别那些不存在的和那些是新的?嗯,我误读了你想要的。是的您需要获取数据库中所有内容的列表以进行比较。编辑我的答案。