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

Ksysha

Создатель
Регистрация
5 Фев 2009
Сообщения
37
Реакции
1
может лучше и купить)
 
O

OrlenkoKN

Прохожие
Ну вот пример загружаем через форму файл
$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] и т.д это ячейки в строке экселя начинаются с нулевой
Если что непонятно спрашивай

Не могли бы вы мне помочь разобраться?
Я сделал форму:
HTML:
<form action="goto.php" method="post" enctype="multipart/form-data" name="csv">
<input name="file" type="file" size="50"><br>
<input name="Load" type="submit" value="Load">
</form>
Но при добавлении файла скрипт мне пишеь "Неправильный формат файла.", хотя загружаю я csv файл..
 

najel

Постоялец
Регистрация
3 Фев 2009
Сообщения
145
Реакции
15
ну убери строку
if ($file_exp[1] != "csv") die("Неправильный формат файла.");
и попробуй снова

Добавлено через 46 секунд
У тебя ошибка в этой строке
<input name="file" type="file" size="50"><br>
а нужно
<input name="csv" type="file" size="50"><br>
 

emil116rus

Постоялец
Регистрация
29 Мар 2008
Сообщения
133
Реакции
15
чет у вас всё нечитабельно =)
я бы вот так сделал..
Код:
$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);
}

как то не получается! :( может по подробнее поможешь
 

emil116rus

Постоялец
Регистрация
29 Мар 2008
Сообщения
133
Реакции
15
вот нашел сайт с функционалом Для просмотра ссылки Войди или Зарегистрируйся! как можно прикрепить к системе?

Добавлено через 18 минут
вот нашел функционал Для просмотра ссылки Войди или Зарегистрируйся!
только как его прикрепить к системе?
 

untwist

Постоялец
Регистрация
30 Сен 2006
Сообщения
121
Реакции
36
Выложи сюда свой, файл, тогда сможем помочь
 

emil116rus

Постоялец
Регистрация
29 Мар 2008
Сообщения
133
Реакции
15
какой файл? они выше. проблемы с базой!
 

untwist

Постоялец
Регистрация
30 Сен 2006
Сообщения
121
Реакции
36
какой файл? они выше. проблемы с базой!

импорт CVS к примеру происходит по такой схеме:

файл парсеться скриптом исходя из символов разделения столбцов (чаще всего это "," )и переноса строки.
В итоге ты получаешь массив c ключами равные количеству столбцов в CVS файле.

А дальше этот массив загоняется в базу, и если у тебя к примеру в файле 10 столбцов то в таблицу из 5 они явно не войдут.

поэтому я попросил пример CVS файла.
 

Punches

Создатель
Регистрация
9 Окт 2009
Сообщения
22
Реакции
4
Готов помочь со скриптом, практически безвозмездно, и совсем без денег.
 

sergey_os

Писатель
Регистрация
2 Мар 2010
Сообщения
9
Реакции
0
ну да это решение одной проблемы втыкнуть текст в базу.. а как по поводу картинок..
 
Сверху