Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <?
- //подключиться к БД
- $hostname = "";
- $username = "";
- $password = "";
- $dbName = "";
- $tableName = "j25_virtuemart_products_ru_ru";
- $tablePrice = "j25_virtuemart_product_prices";
- $tableProducts = "j25_virtuemart_products";
- //подключение к SQL и DB
- $connect = mysql_connect($hostname, $username, $password) or die(mysql_error());
- mysql_select_db($dbName) or die(mysql_error());
- // подключено
- //для нормальной записи в MySQL(русские символы)
- @mysql_query("Set charset cp1251");
- @mysql_query("Set character_set_client = cp1251");
- @mysql_query("Set character_set_connection = cp1251");
- @mysql_query("Set character_set_results = cp1251");
- @mysql_query("Set collation_connection = cp1251_general_ci");
- // Открываем файл в режиме записи изменений(+дата чило.месяц.год)
- $file_write = fopen("log/logNoName_".date("d.m.y").".txt", "a+");
- $file_write2 = fopen("log/logNoId_".date("d.m.y").".txt", "a+");
- $file_write3 = fopen("log/logSucsses_".date("d.m.y").".txt", "a+");
- // считываем файл
- $file_array = file("название_файла_лежит_рядом");
- if(!$file_array){
- echo("Error reading file");
- }
- else{
- // выполняем цикл до конца файла(count();)
- for($i=0; $i<count($file_array); $i++){
- // разделяем list(); на столбцы split(); "\t" == табуляцией до конца файла $file_array[$i]
- // приставка f_ для переменных из файла
- // переменная в нормальном виде существует только внутри цикла for(????да)
- list($f_id, $f_name, $f_price, $f_in_stock) = split("\t", $file_array[$i]);
- $res = mysql_query("SELECT * FROM $tableName WHERE virtuemart_product_id='$f_id'");
- while($row = mysql_fetch_array($res)){
- $db_id = $row['virtuemart_product_id'];
- $db_name=$row['product_name'];
- }
- // проверка кода БД и файла
- if($db_id==$f_id){
- if($db_name==$f_name){
- // записываем все что обновили в файл.
- $eah = $db_id." ".$db_name." == ".$f_id." ".$f_name."\n";
- $test1 = fwrite($file_write3, $eah); // Запись в файл
- if ($file_write3) $allCurrent = 'update price and write sucsses ID+NAME to logSucsses.<br/>';
- else echo 'ERROR! cant write in file.';
- // обносление существующих позиций НЕ создает новые
- // добавить колличество товаров? product_in_stock
- // при этом сбросить на 0 колличество заказанных товаров? product_ordered
- mysql_query("UPDATE $tablePrice SET product_price='$f_price' WHERE virtuemart_product_id=$f_id") or DIE(mysql_error());
- mysql_query("UPDATE $tableProducts SET product_in_stock = '$f_in_stock', product_ordered = '0', published = '1' WHERE virtuemart_product_id=$f_id") or DIE(mysql_error());
- }else{
- // если найден Код но разное Имя
- $noName = $f_id."\t".$f_name."\n";
- $test2 = fwrite($file_write, $noName); // Запись в файл
- if ($file_write) $diffName = 'product without current Name write to logNoName.<br/>';
- else echo 'ERROR! cant write in file.';
- // убирать с публикации товары с НеПравильным названием?
- mysql_query("update $tableProducts set published = '0' where product_sku = $f_id");
- }
- }else{
- // если Код из БД не найден в файле
- // вывести все что не совпадает, вставить. ВНИМАНИЕ убрать с публикации(может требоваться изменить перед публикацией в магазине)
- $noId = $f_id."\t".$f_name."\n";
- $test3 = fwrite($file_write2, $noId); // Запись в файл
- if ($file_write2) $diffCode = 'product without current ID write to logNoId.<br/>';
- else echo 'ERROR! cant write in file.';
- mysql_query("update $tableProducts set published = '0' where product_sku = $f_id");
- // вставляем значения из файла в базу данных(если даные есть НЕ перезаписывает.+добавляет новые)
- }
- }//конец цикла for
- echo "YРА! Цены обновлены! В логах можно найти что было обновлено, а что нет<br>";
- }//конец else
- //Закрытие файла
- fclose($file_write);
- fclose($file_write2);
- fclose($file_write3);
- // Закрываем соеденение с БД
- mysql_close($connect);
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement