Импорт статей из файла (xml, csv)

InstantCMS 2.X
#17 4 февраля 2017 в 09:22
просил колбаски в магазине
мне отказали в колбасе
они удавятся за деньги
пускай же совесть гложет их
#18 4 февраля 2017 в 10:01
oruchimaru, ай да молодец!!! v
#19 4 февраля 2017 в 10:53
Loadырь, благодарю =)
#20 10 февраля 2017 в 17:52
Пришлось самому.
Накидал простой компонент, мои задачи выполняет, может кому понадобится http://instantcms.ru/users/files/download6398.html

Всем спасибо за помощь joke
#21 15 февраля 2017 в 22:17
с одной стороны решение Loadырь классное, но с другой, мне надо всего два файла импортнуть из CSV в БД единоразово, в связи с чем не очень актуально покупать полноценное решение:(

а решение oruchimaru на 2.7 не работает, что тоже жаль.

нашел такое решение:

  1. $csv_open = fopen("in.csv", "r");
  2. $r = 0;
  3. while (($row = fgetcsv($csv_open, 1000, ';', '"')) != FALSE)
  4. {
  5. $r++;
  6. if($r == 1) {continue;} // Не дает записать в БД первую строку
  7. $ins="INSERT INTO `cms_con_methodics` (`id`, `title`, `content`, `photo`, `slug`, `seo_keys`, `seo_desc`, `seo_title`, `tags`, `date_pub`, `date_last_modified`, `date_pub_end`, `is_pub`, `hits_count`, `user_id`, `parent_id`, `parent_type`, `parent_title`, `parent_url`, `is_parent_hidden`, `category_id`, `folder_id`, `is_comments_on`, `comments`, `rating`, `is_deleted`, `is_approved`, `approved_by`, `date_approved`, `is_private`, `tizer`, `pokazaniya`, `how`, `result`, `time`) VALUES('$row[1]','$row[2]','$row[3]','$row[4]','$row[5]','$row[6]','$row[7]','$row[8]','$row[9]','$row[10]','$row[11]','$row[12]','$row[13]','$row[14]','$row[15]','$row[16]','$row[17]','$row[18]','$row[19]','$row[20]','$row[21]','$row[22]','$row[23]','$row[24]','$row[25]','$row[26]','$row[27]','$row[28]','$row[29]','$row[30]','$row[31]','$row[32]','$row[33]','$row[34]','$row[35]')";
  8. mysql_query($ins);
  9. echo mysql_errno() . ": " . mysql_error();
  10. }
  11. fclose($csv_open);
  12.  

Но не пойму как этот скрипт должен узнать в какую БД писать, если там нет ни юзера ни пароля от БД. Может кто подсказать?
Все столбцы в CSV сопоставлены.
#22 16 февраля 2017 в 00:16
jrfpsdftncz все это умеет делать phpmyadmin)
#23 16 февраля 2017 в 02:44
LOAD DATA LOCAL INFILE намного оптимальнее
#24 16 февраля 2017 в 08:22

LOAD DATA LOCAL INFILE намного оптимальнее

stealthdebuger
а как быть, если не заполнена таблица SLUG при экспорте из файла? или система сможет сама создать из заголовка?
#25 16 февраля 2017 в 08:42

как быть, если не заполнена таблица SLUG при экспорте из файла?

yury
Заполнить в файле "вручную".

или система сможет сама создать из заголовка?

yury
по вышеприведённому коду само не создастся.
#26 17 февраля 2017 в 09:36

а решение oruchimaru на 2.7 не работает, что тоже жаль.

Компонент работает, только из него вырезана часть отвечающая за парсинг файла, которую для каждого файла, для каждой структуры файла надо писать самостоятельно. Это не готовое решение, а каркас для разработчика.
#27 17 февраля 2017 в 10:14

Компонент работает,

oruchimaru
вероятно он работает на 2 версии, но на 2.6 и 2.7 установщик же даже другой и код был переписан
#28 17 февраля 2017 в 11:08
Там и не было установщика, писать было лень, там в архиве был файл с текстом запроса к базе данных на добавление компонента.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.