<?
set_time_limit(0);
define('DB_HOST', 'localhost');
define('DB_USER', '********');
define('DB_PASS', '********');
define('DB_NAME', '********');
$ctt = mysql_connect(DB_HOST, DB_USER, DB_PASS) or die(mysql_error());
$db = mysql_select_db(DB_NAME) or die("Ошибка базы данных");
mysql_query ("SET NAMES 'windows-1251'");
#----------------------------------------------
function getXLS($xls){
include_once 'Classes/PHPExcel.php';
include_once 'Classes/PHPExcel/IOFactory.php';
$objPHPExcel = PHPExcel_IOFactory::load($xls);
$objPHPExcel->setActiveSheetIndex(0);
$aSheet = $objPHPExcel->getActiveSheet();
$array = array();
foreach($aSheet->getRowIterator() as $row){
$cellIterator = $row->getCellIterator();
$item = array();
foreach($cellIterator as $cell){
array_push($item, iconv('utf-8', 'cp1251', $cell->getCalculatedValue()));
}
array_push($array, $item);
}
return $array;
}
$xlsData = getXLS('xls/nprice.xls');
#----------------------------------------------
$col_str = sizeof($xlsData);
for ($i = 0; $i < $col_str; $i++) {
$artikle = $xlsData[$i][1];
$cena = $xlsData[$i][3];
$tmp=" UPDATE SS_products
SET Price = ".$cena.", sort_order = -51
WHERE product_code = ".$artikle."
AND categoryID = 1443
";
$res = mysql_query($tmp);
$num = mysql_affected_rows();
$num2 = $num;
if ($num = 0) {
$notarticle .= $artikle.$cena."<br>";
global $notarticle;
}
$num2 += $num2;
global $num2;
}
#----------------------------------------------
echo "Исправлено товаров: <b>".$num2."</b><br><br>";
echo "Не найдено товаров: <b>".$notarticle."</b><br><br>";
?>
Сначала сервер долго думал потом вылетела ошибка тайм-аута 300, я убрал тайм-аут теперь вылазит ошибка что не хватает памяти, но сам файл маленький, я даже урезал ради теста в 10 строк.