Импорт в netcat cvs или exel

Тема в разделе "NetCat", создана пользователем emil116rus, 29 янв 2009.

  1. emil116rus

    emil116rus Постоялец

    Регистр.:
    29 мар 2008
    Сообщения:
    130
    Симпатии:
    15
    Импорт в netcat csv или exel

    Подскажите пожалуйста как можно реализовать импорт на сайт из cvs или EXEL? Вот наподобии этого Перейти по ссылке. Может есть готовые решения!?
     
  2. fuck0ff

    fuck0ff Постоялец

    Регистр.:
    2 сен 2007
    Сообщения:
    92
    Симпатии:
    50
    NetCat для импорта вообще не нужно использовать, напишите отдельный скрипт для импорта из .csv в MySQL, это строк 10 на php, в NetCat создайте компонент для вывода прайса

    p.s.
    Перейти по ссылке
     
  3. Ksysha

    Ksysha Создатель

    Регистр.:
    5 фев 2009
    Сообщения:
    37
    Симпатии:
    1
    Впринципе да ничего сложного, если нужен пример обращайтесь
     
  4. emil116rus

    emil116rus Постоялец

    Регистр.:
    29 мар 2008
    Сообщения:
    130
    Симпатии:
    15
    А можете пример скинуть!? Разобраться не могу!
     
  5. Ksysha

    Ksysha Создатель

    Регистр.:
    5 фев 2009
    Сообщения:
    37
    Симпатии:
    1
    Ну вот пример загружаем через форму файл
    $file_exp = explode(".", $_FILES["csv"]["name"]);
    if ($file_exp[1] != "csv") die("Неправильный формат файла.");

    проверяем правильный ли формат файла

    if (!copy($_FILES["csv"]["tmp_name"],"/netcat/modules/default/price.csv")) die("Не могу скопировать файл.");

    копируем файл на сервер, если ошибка, то выводим сообщение об ошибке

    $handle = fopen($MODULE_FOLDER."default/price.csv", "r");
    читаем звгруженный файл

    while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
    {
    пока в файле не закончелись строки делаем

    $sql = "INSERT INTO Message".$classs." (User_ID,Sub_Class_ID,Subdivision_ID,Country,Resort,Hotel,Category,Enter,Night,DBL,SGL,DBL_EXB,SGL_CHD,SGL_2CHD,DBL_CHD,DBL_2CHD)
    value ('1','222','333','$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[6]','$data[7]','$data[8]','$data[9]','$data[10]','$data[11]','$data[12]','$data[13]')";
    $res = mysql_query($sql,$LinkID);

    }
    echo "Загрузка прошла успешно!";";


    $data[0]','$data[1]','$data[2]','$data[3] и т.д это ячейки в строке экселя начинаются с нулевой
    Если что непонятно спрашивай
     
  6. fuck0ff

    fuck0ff Постоялец

    Регистр.:
    2 сен 2007
    Сообщения:
    92
    Симпатии:
    50
    чет у вас всё нечитабельно =)
    я бы вот так сделал..

    Код:
    $rows = array_map('rtrim', file('price.csv'));
    
    foreach($rows as $row) {
    	
    	list($name, $item, $price, $date) = explode(";", $row);
    	
    	$sql = "INSERT INTO SameTable (Name, Item, Price, Date) value ('" . $name . "', '" . $item . "', '" . $price . "', '" . $date ."')";
    
    	$res = mysql_query($sql, $link);
    
    }
    
     
    alies.boliev нравится это.
  7. Ksysha

    Ksysha Создатель

    Регистр.:
    5 фев 2009
    Сообщения:
    37
    Симпатии:
    1
    разумно:) возьму на заметку
     
  8. thelost

    thelost Создатель

    Регистр.:
    20 сен 2007
    Сообщения:
    16
    Симпатии:
    2
    А ни у кого нет нормального готового функционала с импортом.
    т.е. не только с первоначальным импортом, но и с обновлением по различным параметрам?
    Нужно, но тааааааак лень писать.
    Ведь, по хорошему, при правильной реализации - задачка вовсе не простая. Много проверок, условий и прочего.
     
  9. Ksysha

    Ksysha Создатель

    Регистр.:
    5 фев 2009
    Сообщения:
    37
    Симпатии:
    1
    При правильной реализации работы часа на два максимум
     
  10. emil116rus

    emil116rus Постоялец

    Регистр.:
    29 мар 2008
    Сообщения:
    130
    Симпатии:
    15
    У кого всего пару часов я сидел пол дня, а потом бросил! Пока нет энтузиазма занятся этим!
    Может лучше купить?