UnitCMS

Загрузка товаров через PHP MyAdmin (Решено)

alf

Загрузка товаров через PHP MyAdmin (Решено)
« : Февраль 16, 2017, 05:51:03 pm »
Здравствуйте.
Первый вопрос:
Есть магазин на UnitCMS 1.4.5. Возникла необходимость загрузить сторонний каталог товаров. Каталог влит через PHP MyAdmin. К сожалению в админке в каталоге не видно количество товаров в категориях. Что нужно сделать для пересчета и вывода этих данных.

Второй вопрос:
В стороннем каталоге в описаниях товаров очень много html спецсимволов:   © ™ и стилей текста включающих знак "точка с запятой". Для импорта в базу данных использую таблицу Excel сохраненную в CSV формате. Приходится искать ВСЕ "точки с запятой" во всех описаниях и править, иначе получаю ошибку :не совпадает кол-во столбцов." Так как разделитель "точка с запятой".
Есть какие-то еще варианты выхода из этой ситуации?
« Последнее редактирование: Март 06, 2017, 12:09:03 am от alf »
Компьютерный и web-дизайн
www.alfsite.ru
 

pehser

Re: Загрузка товаров через PHP MyAdmin
« Ответ #1 : Февраль 16, 2017, 08:09:12 pm »
По первому вопрозу  http://ваш домен/admin.php?dpt=catalog&sub=categories&update

По второму CSV замечательно открывается в екселе правте там и про запятые париться не прийдется
« Последнее редактирование: Февраль 16, 2017, 08:12:14 pm от pehser »
WM: Z255040886923, R104460203223, U381335345755 Yandex: 41001700114942
---
Я пользуюсь обменником
 

alf

Re: Загрузка товаров через PHP MyAdmin
« Ответ #2 : Февраль 16, 2017, 11:39:27 pm »
C первым вопросом справился! Вроде все пересчиталось... Сергей, Спасибо за оперативный ответ!
По второму - каталог и так в Excel, и для загрузки в phpMyAdmin его приходится сохранять в CSV (разделитель "точка с запятой"), а там в описаниях этих точек с запятой туча! И   и & и © и style="....;....;....;" и т.п.
И приходится поиском и заменой чистить....
Может можно как-то по другому?
Компьютерный и web-дизайн
www.alfsite.ru
 

pehser

Re: Загрузка товаров через PHP MyAdmin
« Ответ #3 : Февраль 18, 2017, 01:13:21 pm »
при загрузке у меня в phpmyadmin выскакивает окно настроек и вот при таких настройках

все тип топ загрузит проверено на строке
"5";"Мобильные телефоны";"1";"5";"<p>Короткое &nbsp;описание</p>
";"<p>Полное описание</p>
";"userfiles/categorys/mobiles-phones-250x250.jpg";"5";"1";"Мобильные телефоны";;;"mobilnyie_telefonyi/";;"Мобильные телефоны";"0"

да и не забывайте что в юнит есть импорт их xls
 
WM: Z255040886923, R104460203223, U381335345755 Yandex: 41001700114942
---
Я пользуюсь обменником
 

alf

Re: Загрузка товаров через PHP MyAdmin
« Ответ #4 : Февраль 19, 2017, 05:47:48 pm »
Подскажите,как надо сохранять файл в Excel, чтобы поля было обрамлены в кавычки? Я таких настроек не увидел... У меня получается файл csv в котором столбцы разделяются только точкой с запятой.
Компьютерный и web-дизайн
www.alfsite.ru
 

pehser

Re: Загрузка товаров через PHP MyAdmin
« Ответ #5 : Февраль 19, 2017, 08:13:37 pm »
Вы бы хоть сказали какая у вас версия оффиса?

Я использую либера оффис
WM: Z255040886923, R104460203223, U381335345755 Yandex: 41001700114942
---
Я пользуюсь обменником
 

alf

Re: Загрузка товаров через PHP MyAdmin
« Ответ #6 : Февраль 19, 2017, 08:35:01 pm »
У меня Microsoft, 2010...
Компьютерный и web-дизайн
www.alfsite.ru
 

pehser

Re: Загрузка товаров через PHP MyAdmin
« Ответ #7 : Февраль 19, 2017, 11:16:07 pm »
Если вы сохраняете "CSV (разделители – запятые)" то если ексель увидет в значении поля запятую он экранирует это поле в кавычки
вот пример
15,Новая категория,8,0,"Короткое описани, с запятой",,,0,1,,,,new_cat/,,Новая Категории,0
И такая строчка на ура грузится в phpmyadmin
« Последнее редактирование: Февраль 19, 2017, 11:31:14 pm от pehser »
WM: Z255040886923, R104460203223, U381335345755 Yandex: 41001700114942
---
Я пользуюсь обменником
 

alf

Re: Загрузка товаров через PHP MyAdmin
« Ответ #8 : Февраль 19, 2017, 11:57:26 pm »
Ок! СПАСИБО! Попробую!...
Компьютерный и web-дизайн
www.alfsite.ru
 

pehser

Re: Загрузка товаров через PHP MyAdmin
« Ответ #9 : Февраль 20, 2017, 12:38:23 am »
Каталог влит через PHP MyAdmin. К сожалению в админке в каталоге не видно количество товаров в категориях. Что нужно сделать для пересчета и вывода этих данных.

по пробуйте в базе выполнить sql
DELIMITER $$
CREATE TRIGGER `count_autoupdate` AFTER INSERT ON `SS_products` FOR EACH ROW BEGIN
SET @cat_ID = NEW.`categoryID`;
 SET @products_count  = (SELECT SUM(`enabled`) FROM `SS_products` WHERE `categoryID` = @cat_ID);
 SET @products_count_admin = (SELECT count(`productID`) FROM `SS_products` WHERE `categoryID` = @cat_ID);
UPDATE `SS_categories` SET `products_count` = @products_count, `products_count_admin` = @products_count_admin WHERE `categoryID` = @cat_ID;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `count_autoupdate_ifupdate` AFTER UPDATE ON `SS_products` FOR EACH ROW BEGIN
SET @newcat_ID = NEW.`categoryID`;
SET @oldcat_ID = OLD.`categoryID`;
SET @oldenabled = OLD.`enabled`;
SET @newenabled = NEW.`enabled`;
if (@oldcat_ID <> @newcat_ID) THEN
 SET @oldproducts_count  = (SELECT SUM(`enabled`) FROM `SS_products` WHERE `categoryID` = @oldcat_ID);
 SET @oldproducts_count_admin = (SELECT count(`productID`) FROM `SS_products` WHERE `categoryID` = @oldcat_ID);
UPDATE `SS_categories` SET `products_count` = @oldproducts_count, `products_count_admin` = @oldproducts_count_admin WHERE `categoryID` = @oldcat_ID;

SET @newproducts_count  = (SELECT SUM(`enabled`) FROM `SS_products` WHERE `categoryID` = @newcat_ID);
 SET @newproducts_count_admin = (SELECT count(`productID`) FROM `SS_products` WHERE `categoryID` = @newcat_ID);
UPDATE `SS_categories` SET `products_count` = @newproducts_count, `products_count_admin` = @newproducts_count_admin WHERE `categoryID` = @newcat_ID;
elseIF @newenabled<>@oldenabled THEN
 SET @newproducts_count  = (SELECT SUM(`enabled`) FROM `SS_products` WHERE `categoryID` = @newcat_ID);
 UPDATE `SS_categories` SET `products_count` = @newproducts_count WHERE `categoryID` = @newcat_ID;
END IF;
END
$$
DELIMITER ;
DELIMITER $$
CREATE TRIGGER `updatecount_ifdel` AFTER DELETE ON `SS_products` FOR EACH ROW BEGIN
SET @cat_ID = OLD.`categoryID`;
 SET @products_count  = (SELECT SUM(`enabled`) FROM `SS_products` WHERE `categoryID` = @cat_ID);
 SET @products_count_admin = (SELECT count(`productID`) FROM `SS_products` WHERE `categoryID` = @cat_ID);
UPDATE `SS_categories` SET `products_count` = @products_count, `products_count_admin` = @products_count_admin WHERE `categoryID` = @cat_ID;
END
$$
DELIMITER ;

Этот скрипт должен позволить вам работать через базу напрямую с товаром и производить автоматически пересчитывать количество товаров в категориях
WM: Z255040886923, R104460203223, U381335345755 Yandex: 41001700114942
---
Я пользуюсь обменником
 

alf

Re: Загрузка товаров через PHP MyAdmin
« Ответ #10 : Февраль 20, 2017, 05:09:30 pm »
Да, прибил... Спасибо!
Буду наблюдать...
Компьютерный и web-дизайн
www.alfsite.ru
 

 

Sitemap 1 2 3 4 5