CSV данные из textarea

artbur

Новичок
CSV данные из textarea

Поскажите пожалуйста, нужно данные CSV получить из отправленной формы и соответственно разбить строки для таблицы.

Каким способом можно это сделать лучше всего? ( fgetcsv() не помогает )

Заранее спасибо за помощь.
 

Гравицапа

elbirret elcno
artbur
Что у тебя конкретно не получается?!
Получить данные? Разбить?
Напиши нормальным языком в чём проблема.
 

artbur

Новичок
после отправки формы происходит следующее

Код:
			if ($data=fgetcsv($csv, 1000, ";")) {
				print_r($data);
			}
			else
				echo 'error';
пытался протестировать на простейшем примере, где переменная $csv забита как переменная руками в этом же самом файле php и тот же результат.
как я понимаю, fgetcsv можно использовать только при работе с файлами.
 

Гравицапа

elbirret elcno
artbur
После отправки происходит где?
Как ты пытался протестировать?
Что такое $csv и откуда она берется?
Почему ты эту $csv пихаешь вместо файлового указателя в
fgetcsv()?
Ты читал в мануале как работает эта функция?
 

artbur

Новичок
Спасибо, мануал читал. Именно поэтому и создал эту тему.
Повторяю второй раз: мне нужно достать данные CSV не из файла, а из переменной.

Пытаюсь протестировать таким образом:
<?
$csv='aaaaaaa; [email protected];
bbbbbbb; [email protected];0
cccccc; [email protected];23442325;';

if ($data=fgetcsv($csv, 1000, ";")) {
print_r($data);
}
else
echo 'err';
?>

Это не работает. Вопрос: как можно реализовать мою задачу?
 

Pingvin22

Новичок
а просто explode`ом разбивать не судьба? функция fgetcsv берет данные только из файла
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Текстовые данные из формы - Вам сказали уже [m]explode[/m]
Но как по мне то лучше сохранить в временный файл ([m]filesystem[/m]) потом [m]fgetcsv[/m]

-~{}~ 22.05.07 20:16:

Загузка файлов на сервер
http://www.php.net/manual/ru/features.file-upload.php

-~{}~ 22.05.07 20:19:

Ипортировать данные в БД MySQL (если Вам єто нужно) поможет Quick CSV import
http://www.phpclasses.org/browse/package/2917.html
(Import CSV data into a MySQL database table)
 

totamon

Новичок
1. зачем данные CSV посылать из textarea? и много у вас данных в нее влезет? не проще позволить загружать файл? и его обрабатывать...
2. explode разбивать по переводу строки и потом по ; ...
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Может Вы имели ввиду HTML таблицу?

Если строки для HTML таблицы то
потом объединение [m]implode[/m] ранее разбитой строки по символу ;

PHP:
echo '<tr><td>'.implode ('</td><td>', $str).'</td><tr>';
 

Гравицапа

elbirret elcno
Trianon
Очень интересно...
artbur
Посмотри, что из себя представляет формат CSV. Подумай.
И приди к тому, что с этим простым форматом вполне можно работать с помощью строковых функций, таких как explode.
И потом, мне также интересно, если ты читал мануал, то какого.. ты пытаешься
протестировать таким образом:
?

-~{}~ 23.05.07 00:48:

Mr_Max
Давай уже не будем гадать.
 

Trianon

Новичок
Автор оригинала: Pingvin22
что ты имееш ввиду под словом "поток" ?
Под CSV (этого я действительно не оговорил) я имею в виду тот формат, который выдает на выходе MS EXCEL при соответствующей опции. Он подразумевался, поскольку fgetcsv работает именно с таким форматом.

Под потоком я имею в виду последовательный набор данных, который этот программный пакет формирует, когда у него в данных встречаются кавычки и символы разделения элеменов списка.

Разбирать его explode() - всё равно, что отвинчивать гвоздь отверткой.
Может и получится, да только безо всякого удовольствия.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Trianon

Чем Вам експлод не угодил?
RegExp Вам в руки.

Все варианты Вам уже перечислили.

Много удовольствия тоже плохо... надоедает :)
 

Trianon

Новичок
Попробуйде explode'ом разобрать следующую строку
<Cell><Data ss:Type="String">Quick </Data></Cell>
<Cell><Data ss:Type="String">Brown;Fox &quot;Jumps; Over&quot; Lazy</Data></Cell>
<Cell><Data ss:Type="String">Dog</Data></Cell>
Тогда поговорим.

Касательно Regexp - загляните в Дж.Фридла - у него там хороший пример именно CSV посвящен.
тошнить может и не начнет - аппетит потеряете однозначно.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Trianon
CSV (от англ. Comma Separated Values — значения, разделённые запятыми) — это текстовый формат, предназначенный для представления табличных данных. Каждая строка файла — это одна строка таблицы. Значения отдельных колонок разделяются разделительным символом (delimiter), например, запятой (,), точкой с запятой(;), символом табуляции. Текстовые значения обрамляются символом двойные кавычки ("); если в значении встречаются кавычки — они представляются в файле в виде двух кавычек подряд.

http://ru.wikipedia.org/wiki/CSV
 
Сверху