|
|
|
| Здраствуйте!!!
Мне необходимо выгрузить таблицу, получающуюся в результате запроса к БД МуСКЛ из скрипта ПХП, в Ексель...
Имеется вот такой код...
?php
$dblocation = "localhost";
$dbname = "dek";
$dbuser = "user";
$dbpasswd = "user";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому
корректное отображение страницы невозможно.</P>" );
exit();
}
if (!@mysql_select_db($dbname, $dbcnx))
{
echo( "<P>В настоящий момент база данных не доступна, поэтому
корректное отображение страницы невозможно.</P>" );
exit();
}
$query = mysql_query("SELECT * FROM Roles");
$fp = fopen('file.csv', 'w');
if($query)
{
while($arr = mysql_fetch_array($query))
{
foreach ($arr as $line) {
fputcsv($fp, split(',', $line));
}
}
}
fclose($fp);
?>
Работать-то он работает...Но не так как надо... Код выгружает в Ексель результат запроса, помещая его почему-то в один столбец... Как заставить работать скрипт по-человечески, чтобы в Екселе получалась таблица, а не один столбец?
Заранее благодарен! | |
|
|
|
|
|
|
|
для: tihondrius
(07.05.2009 в 23:37)
| |
while($arr = mysql_fetch_assoc($query))
fputcsv($fp, $arr);
|
Но это черновик.
На самом деле, вероятно, в зависимости от типв данных в каждом столбце, некоторые из них придется подтачивать напильником. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 00:08)
| | Ща попробуем) | |
|
|
|
|
|
|
|
для: tihondrius
(08.05.2009 в 12:20)
| | Лучше чем было однозначно, тока все же еще есть вопросы... например почему-то появляются 2 копии одного значения...
Например вместо 1 Название1
Появляется 11 Название1Название1
И еще почему-то каждая строка появляется в ячейке, а должно быть каждое значение - в ячейке... Что не так?( Вот код...
<?php
$dblocation = "localhost";
$dbname = "dek";
$dbuser = "user";
$dbpasswd = "user";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому
корректное отображение страницы невозможно.</P>" );
exit();
}
if (!@mysql_select_db($dbname, $dbcnx))
{
echo( "<P>В настоящий момент база данных не доступна, поэтому
корректное отображение страницы невозможно.</P>" );
exit();
}
$query = mysql_query("SELECT * FROM Roles");
$fp = fopen('file.csv', 'w');
if($query)
{
while($arr = mysql_fetch_array($query))
fputcsv($fp, $arr);
}
fclose($fp);
?>
|
Ну в чем же тут проблема!!!??? | |
|
|
|
|
|
|
|
для: tihondrius
(08.05.2009 в 12:29)
| | проблема в том, что Вы невнимательно прочли те две строки, которые я написал.
Это если формулировать вежливо. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 13:49)
| | Да... Если вместо array написать assoc то конечно будет лучше но по прежнему одна строка запроса будет располагаться в одной ячейке( | |
|
|
|
|
|
|
|
для: tihondrius
(08.05.2009 в 15:05)
| | попробуйте написать mysql_fetch_row | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 15:18)
| | Попробовал... Все равно то же самое... | |
|
|
|
|
|
|
|
для: tihondrius
(08.05.2009 в 15:43)
| | не верю.
Хотя нет. Верю.
у fputcsv есть доп.параметры. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 15:48)
| | спасибо за помощь) | |
|
|
|
|
|
|
|
для: tihondrius
(07.05.2009 в 23:37)
| | http://pear.php.net/package/Spreadsheet_Excel_Writer/docs | |
|
|
|
|
|
|
|
для: name
(08.05.2009 в 16:53)
| | просто у меня ДЕНВЕР.... А можно ПЕАР для ДЕНВЕРа установить? Или он там по умолчанию? | |
|
|
|