Mysql -> Excel (csv)

Mountin

Новичок
Mysql -> Excel (csv)

Как сделать парс базы Mysql для создания файла «CSV»(Excel)
В поиске искал – много воды, ничего конкретного.
Спрашиваю конкретный код.
 

Сергей123

Новичок
А руками в тесктовом редакторе ты можешь набрать тестовый текстовый csv-файл? Т.е. ты знаешь нужный формат?
 

Mountin

Новичок
2DimbIch
А как-то по проще нельзя... Мне нужен просто код...

2Бресь Сергей
да
 

SelenIT

IT-лунатик :)
Mountin
Вроде ж phpMyAdmin умеет делать искомое. Почему бы не посмотреть в нем?
 

Mountin

Новичок
2SelenIT
Думал, может у кого есть готовое решение, может уже кто сталкивался с такой проблемой и сможет помочь, чем в исходниках пол дня капаться...
 

alexhemp

Новичок
Mountin


Какое пол-дня копаться?
Это самый элементарный формат, какой может быть в природе.

Читаешь строки из базы в цикле и выводишь через ";"

типа

$res=mysql_query("SELECT ...");
while ($row = mysql_fetch_accoc($res)) {
echo $row['FIELD1'].";".$row['FIELD2']."\r\n";
}

и не забудь соотв. Header послать, типа content-disposition: attachment.
 

SelenIT

IT-лунатик :)
alexhemp
а если в самих данных окажется символ ";"?

P.S. Посмотрел, что делает PMA при выборе "CSV для данных MS Excel":
- разделитель - запятая;
- все значения - в двойных кавычках;
- если в данных есть двойные кавычки, они удваиваются;
- заголовки: content-disposition: attachment; filename="имя_файла.csv" и Content-Type: text/x-comma-separated-values

Отсюда - что-то наподобие:
PHP:
header(...); // все нужные заголовки
...// коннект к базе
$r = mysql_query('SELECT * FROM tablename');
while ($f = mysql_fetch_row($r)) {
   foreach($f as $i=>$field) $f[$i] = str_replace('"','""',$field);
   echo '"'.implode('","',$f).'"
';
}
 

DimbIch

Новичок
нормально...
сделайте мне плиз - а то мне лень копаться в исходниках...
мде...
 

alexhemp

Новичок
SelenIT

А над этими тонкостями пусть автор топика и подумает. Зачем ему рассказал эту профессиональную тайну? :)
 

SelenIT

IT-лунатик :)
alexhemp
Это был пример того, что для получения желаемого от PMA не всегда обязательно полдня копаться в исходниках)
 
Сверху