Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Сохранение с PHP в CSV  (Прочитано 13663 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
bucha
Участник

ua
Offline Offline

« : 16-11-2010 07:50 » 

Ребята, подскажите как сделать, у меня есть таблица, которая выгружается с mssql в iexplorer, мне нада чтоб она сохранялась в csv, тоесть есть код на ПХП и СКЮЛ запрос, получается таблица, мне бы чтоб можно было сохранить её.  Скромно так...
Записан
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #1 : 16-11-2010 08:17 » 

Брр... Таблица, выгружается из MSSQL через IExplorer.. Здесь была моя ладья...
Наверное, у тeбя есть база, есть серверная часть на PHP, которая запросами формирует какую-то таблицу и выводит её на страницу в HTML?
В этом же коде тебе нужно формировать CSV и дать пользователю скачать его.
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
bucha
Участник

ua
Offline Offline

« Ответ #2 : 16-11-2010 08:53 » 

да, только с чего начать чтоб можно было сохранять в CSV
Записан
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #3 : 16-11-2010 09:18 » 

Формат CSV очень прост - это текст, разделенный запятыми или точкой_с_запятой. Строки заключаются в кавычки.
Для PHP есть даже какие-то дополнительные расширения, но, на мой взгляд, это лишнее.
Прость берешь строку данных и разделяешь поля запятыми, затем выводишь в файл или юзеру. Потом - следующую строку.
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #4 : 16-11-2010 09:27 » 

а колонки разделяются табуляцими, а когда в тексте нужна запятая или табуляция - заключить текст в кавычки Улыбаюсь
Записан

bucha
Участник

ua
Offline Offline

« Ответ #5 : 16-11-2010 11:02 » 

может у кого есть пример или хоть ссылка где почитать? Ато я первый раз с ЦСВ работаю.
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #6 : 16-11-2010 11:07 » new

какой пример?
Как выгрузить в csv?
или как обработать csv?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
baldr
Команда клуба

cy
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #7 : 16-11-2010 11:14 » 

Здесь $dataarr я инициализировал для примера сам, но у тебя будут данные из базы..
Код: (PHP)
$dataarr=array( array("Name" => "Vasya", "Age" => 25, "Sex" => "Yes"),
                array("Name" => "Petya", "Age" => 21, "Sex" => "No"),
                array("Name" => "Lena", "Age" => 22, "Sex" => "Female"));
$csvdata="";
$csvdata.='"Name","Age","Sex"'."\n";
foreach ($dataarr as $line)
{
    $csvdata.='"'.$line['Name'].'",'.$line['Age'].',"'.$line['Sex'].'"'."\n";
}
file_put_contents("example.csv", $csvdata);
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 16-11-2010 11:20 » 

сначала смотрим что такое CSV - вики тебе в этом поможет (Comma Separated Values)
соответсвенно

Пример 1
поле1, поле 2, поле 3

Пример 2

поле 1, поле2, "поле 3,2"

Ну а дальше начинаются игры - как обрабаатывать

Первый пример самый простой

Код:
$lines = file($file_n);
foreach ($lines) {
explode(“,”, $data);
}

Второй вариант более сложный Улыбаюсь изучаем до посинения функция str_getcsv


Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Kivals
Команда клуба

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 16-11-2010 13:10 » 

Еще один момент: когда внутри поля, обрамленного кавычками, тоже свстречается кавычка. Если склероз мне не изменяет - то тогда кавычка задваивается:
ООО "Рога, копыта и шерсть" -> "ООО ""Рога, копыта и шерсть"""
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines