Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Выгрузка результата запроса из PHP в Excel
 
 автор: tihondrius   (07.05.2009 в 23:37)   письмо автору
 
 

Здраствуйте!!!

Мне необходимо выгрузить таблицу, получающуюся в результате запроса к БД МуСКЛ из скрипта ПХП, в Ексель...

Имеется вот такой код...

?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);

?>

Работать-то он работает...Но не так как надо... Код выгружает в Ексель результат запроса, помещая его почему-то в один столбец... Как заставить работать скрипт по-человечески, чтобы в Екселе получалась таблица, а не один столбец?
Заранее благодарен!

  Ответить  
 
 автор: Trianon   (08.05.2009 в 00:08)   письмо автору
 
   для: tihondrius   (07.05.2009 в 23:37)
 

while($arr = mysql_fetch_assoc($query)) 
    fputcsv($fp, $arr);


Но это черновик.
На самом деле, вероятно, в зависимости от типв данных в каждом столбце, некоторые из них придется подтачивать напильником.

  Ответить  
 
 автор: tihondrius   (08.05.2009 в 12:20)   письмо автору
 
   для: Trianon   (08.05.2009 в 00:08)
 

Ща попробуем)

  Ответить  
 
 автор: tihondrius   (08.05.2009 в 12:29)   письмо автору
 
   для: 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);
 
?>


Ну в чем же тут проблема!!!???

  Ответить  
 
 автор: Trianon   (08.05.2009 в 13:49)   письмо автору
 
   для: tihondrius   (08.05.2009 в 12:29)
 

проблема в том, что Вы невнимательно прочли те две строки, которые я написал.
Это если формулировать вежливо.

  Ответить  
 
 автор: tihondrius   (08.05.2009 в 15:05)   письмо автору
 
   для: Trianon   (08.05.2009 в 13:49)
 

Да... Если вместо array написать assoc то конечно будет лучше но по прежнему одна строка запроса будет располагаться в одной ячейке(

  Ответить  
 
 автор: Trianon   (08.05.2009 в 15:18)   письмо автору
 
   для: tihondrius   (08.05.2009 в 15:05)
 

попробуйте написать mysql_fetch_row

  Ответить  
 
 автор: tihondrius   (08.05.2009 в 15:43)   письмо автору
 
   для: Trianon   (08.05.2009 в 15:18)
 

Попробовал... Все равно то же самое...

  Ответить  
 
 автор: Trianon   (08.05.2009 в 15:48)   письмо автору
 
   для: tihondrius   (08.05.2009 в 15:43)
 

не верю.

Хотя нет. Верю.
у fputcsv есть доп.параметры.

  Ответить  
 
 автор: tihondrius   (08.05.2009 в 16:14)   письмо автору
 
   для: Trianon   (08.05.2009 в 15:48)
 

спасибо за помощь)

  Ответить  
 
 автор: name   (08.05.2009 в 16:53)   письмо автору
 
   для: tihondrius   (07.05.2009 в 23:37)
 

http://pear.php.net/package/Spreadsheet_Excel_Writer/docs

  Ответить  
 
 автор: tihondrius   (08.05.2009 в 17:58)   письмо автору
 
   для: name   (08.05.2009 в 16:53)
 

просто у меня ДЕНВЕР.... А можно ПЕАР для ДЕНВЕРа установить? Или он там по умолчанию?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования