Импорт в 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.
    http://ua2.php.net/manual/en/function.fgetcsv.php
     
  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
    У кого всего пару часов я сидел пол дня, а потом бросил! Пока нет энтузиазма занятся этим!
    Может лучше купить?