Exemple #1
0
 unset($updateFields['sku']);
 $updateExpr = '';
 foreach ($updateFields as $field => $value) {
     $updateExpr .= sprintf('%s = IF(VALUES(%s)<>"", VALUES(%s), %s),', $field, $field, $field, $field);
 }
 $sqlTemplate = 'INSERT INTO sku (' . implode(',', array_keys($queryFields)) . ') VALUES %values% ON DUPLICATE KEY UPDATE %update%';
 $sqlTemplate = str_replace('%update%', rtrim($updateExpr, ','), $sqlTemplate);
 while (true) {
     $rowData = fgetcsv($handle);
     if (false === $rowData || $rowsProcessed >= MAX_QUERY_ROWS) {
         if ($dataString) {
             $sql = str_replace('%values%', rtrim($dataString, ','), $sqlTemplate);
             if ($debugMode) {
                 sql($sql);
             }
             $deployer->dbQuery($sql, 'Error running query!');
             $dataString = '';
             $rowsProcessedTotal += $rowsProcessed;
             $rowsInsertedTotal += $rowsProcessed;
             $rowsProcessed = 0;
         }
         if (false === $rowData) {
             $deployer->logMessage("Importing {$fileName} completed, total rows processed = {$rowsTotal}, total rows imported = {$rowsProcessedTotal}");
             break;
         }
     }
     $rowsTotal++;
     $data = array();
     $hasData = false;
     foreach ($queryFields as $sqlName => $columnPosition) {
         if (!isset($rowData[$columnPosition])) {
Exemple #2
0
}
$sqlUpdateTemplate = 'INSERT INTO `oem_cost`(%COLUMN_NAMES%) VALUES %VALUES% ON DUPLICATE KEY UPDATE %COLUMN_ASSIGNMENT%';
$sqlUpdateTemplate = str_replace('%COLUMN_NAMES%', implode(', ', array_keys($colPositions)), $sqlUpdateTemplate);
$sqlUpdateTemplate = str_replace('%COLUMN_ASSIGNMENT%', implode(', ', $colAssignment), $sqlUpdateTemplate);
$deleteRecords = array();
while (true) {
    $rowData = fgetcsv($handle);
    if (false === $rowData || $rowsProcessed >= MAX_QUERY_ROWS) {
        if ($dataString) {
            $sql = str_replace('%VALUES%', rtrim($dataString, ','), $sqlUpdateTemplate);
            //				'INSERT INTO `oem_cost`('.implode(',', $columns).') VALUES ' . rtrim($dataString, ',')
            //				. ' ON DUPLICATE KEY UPDATE cost=VALUES(cost), part_name=VALUES(part_name)';
            if ($debugSQLDump) {
                sql($sql);
            }
            $result = $debugImitateQuery || $deployer->dbQuery($sql, 'Error running query!');
            if (!$result) {
                $deployer->logMessage($result);
                sql($sql);
                break;
            }
            $dataString = '';
            $rowsProcessedTotal += $rowsProcessed;
            $rowsInsertedTotal += $rowsProcessed;
            $rowsProcessed = 0;
        }
        if (false === $rowData) {
            $deployer->logMessage("\nImporting {$fileName} completed, total rows processed = {$rowsTotal}, total rows imported = {$rowsProcessedTotal}");
            break;
        }
    }
Exemple #3
0
 $rowsProcessed = 0;
 $rowsProcessedTotal = 0;
 $dataString = '';
 $fileName = $importDir . $file;
 $deployer->logMessage("\nProcessing {$fileName}");
 if (false !== ($handle = fopen($fileName, "rb"))) {
     $columns = fgetcsv($handle);
     while (true) {
         $rowData = fgetcsv($handle);
         if (false === $rowData || $rowsProcessed >= MAX_QUERY_ROWS) {
             if ($dataString) {
                 $sql = 'INSERT INTO `oem_cost`(' . implode(',', $columns) . ') VALUES ' . rtrim($dataString, ',') . ' ON DUPLICATE KEY UPDATE cost=VALUES(cost), part_name=VALUES(part_name)';
                 if ($sqlDump) {
                     sql($sql);
                 }
                 if (!($result = $deployer->dbQuery($sql, 'Error running query!'))) {
                     $deployer->logMessage($result);
                     sql($sql);
                     break;
                     //						continue;
                     //						fclose($handle);
                     //						die;
                 }
                 $dataString = '';
                 $rowsProcessedTotal += $rowsProcessed;
                 $rowsInsertedTotal += $rowsProcessed;
                 $rowsProcessed = 0;
             }
             //				$deployer->logMessage("File $file, total rows processed = $rowsTotal, total rows imported = $rowsProcessedTotal");
             if (false === $rowData) {
                 $deployer->logMessage("\nImporting {$fileName} completed, total rows processed = {$rowsTotal}, total rows imported = {$rowsProcessedTotal}");