Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PEAR MySQL->Excel, Не хочет с базой дружить 
:(
    Опции темы
Rodman
Дата 3.6.2009, 01:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: нет
Всего: 122



Дароф.

пытаюсь вывести данные из БД в Excel.
но когда идет работа с базой - появляются битые файлы Excel (см. атач).
Код

<?php 
if( isset($_POST['button']) )
{
        //require_once 'users/universal/config/config.php';
        //$Link = mysql_pconnect (HOST, USER, PASS);

        /*if($_POST['RadioGroup1']==1)
        {
            $Query = "SELECT Orders.NUM_ORDER, Orders.FIO_ORDER, Orders.PHONE_user, Insurance_Object.Insurance_Summ, Orders.DATE_FINISH  FROM Orders INNER JOIN Insurance_Object ON Orders.ID_ORDER = Insurance_Object.ID_ORDER WHERE (Orders.DATE_ORDER >= " . $_POST['date_start'] . " and " . $_POST['date_end'] . "<=Orders.DATE_ORDER);";    
        }
        else if($_POST['RadioGroup1']==2)
        {
            $Query = "SELECT Orders.NUM_ORDER, Orders.FIO_ORDER, Orders.PHONE_user, Insurance_Object.Insurance_Summ, Orders.DATE_FINISH FROM Orders INNER JOIN Insurance_Object ON Orders.ID_ORDER = Insurance_Object.ID_ORDER WHERE (Orders.DATE_ORDER >= " . $_POST['date_start'] . " and " . $_POST['date_end'] . "<=Orders.DATE_ORDER);";

        }
        else if($_POST['RadioGroup1']==3)
        {
            $Query = "SELECT Orders.NUM_ORDER, Orders.FIO_ORDER, Orders.DATE_ORDER, Insurance_Object.Insurance_Summ, BANKS.Bank_Comissing, (Insurance_Object.Insurance_Summ/100)*BANKS.Bank_Comissing AS Comissing FROM (Orders INNER JOIN Insurance_Object ON Orders.ID_ORDER = Insurance_Object.ID_ORDER) INNER JOIN (BANKS INNER JOIN OrderAndBank ON BANKS.ID_BANK = OrderAndBank.ID_Bank) ON Orders.ID_ORDER = OrderAndBank.ID_ORDER WHERE (Orders.DATE_ORDER >= " . $_POST['date_start'] . " and " . $_POST['date_end'] . "<=Orders.DATE_ORDER);";
        }
        else if($_POST['RadioGroup1']==4)
        {
            $Query = "SELECT Orders.NUM_ORDER, NAME_Insurance.NAME_Insurance, Insurance_Object.Tarif, Insurance_Object.Insurance_Summ, ProgrammCodes.Name_Programm, Orders.DATE_ORDER FROM ProgrammCodes INNER JOIN ((Orders INNER JOIN (NAME_Insurance INNER JOIN Insurance_Object ON NAME_Insurance.ID_Insurance = Insurance_Object.ID_NAME) ON Orders.ID_ORDER = Insurance_Object.ID_ORDER) INNER JOIN (BANKS INNER JOIN OrderAndBank ON BANKS.ID_BANK = OrderAndBank.ID_Bank) ON Orders.ID_ORDER = OrderAndBank.ID_ORDER) ON ProgrammCodes.ID_Programm = Orders.ID_Programm WHERE (Orders.DATE_ORDER >= " . $_POST['date_start'] . " and " . $_POST['date_end'] . "<=Orders.DATE_ORDER);";
        }   
        $Query = "SELECT Orders.NUM_ORDER, NAME_Insurance.NAME_Insurance, Insurance_Object.Tarif, Insurance_Object.Insurance_Summ, ProgrammCodes.Name_Programm, Orders.DATE_ORDER FROM ProgrammCodes INNER JOIN ((Orders INNER JOIN (NAME_Insurance INNER JOIN Insurance_Object ON NAME_Insurance.ID_Insurance = Insurance_Object.ID_NAME) ON Orders.ID_ORDER = Insurance_Object.ID_ORDER) INNER JOIN (BANKS INNER JOIN OrderAndBank ON BANKS.ID_BANK = OrderAndBank.ID_Bank) ON Orders.ID_ORDER = OrderAndBank.ID_ORDER) ON ProgrammCodes.ID_Programm = Orders.ID_Programm WHERE (Orders.DATE_ORDER >= 2009-05-05 and 2010-06-05<=Orders.DATE_ORDER);";
        $Result = mysql_db_query (DB, $Query, $Link);*/
        require_once "Spreadsheet/Excel/Writer.php"; 
        $xls =& new Spreadsheet_Excel_Writer(); 
        $xls->send("test1.xls"); 
        $sheet =& $xls->addWorksheet('Order1');
        
        /*for ($i=0; $i<15; $i++)
        {
                //$sheet->write($i,0,mysql_field_name($Result, $i)); 
                $sheet->write($i,0,"sss"); 
        } */                              
        //while ($Row = mysql_fetch_array ($Result)) 
      //{
         $sheet->write(0,0,"sd");
         $sheet->write(0,1,"sfe");
         $sheet->write(0,2,"sare");
         $sheet->write(0,3,"ewfsa");
         $sheet->write(0,4,"dfew");
         
    //}
        $xls->close(); 
}
?> 

но если просто выводить текстовую инфу - все работает нормально.
Код

<?php 
if( isset($_POST['button']) )
{
        require_once 'users/universal/config/config.php';
        $Link = mysql_pconnect (HOST, USER, PASS);

        /*if($_POST['RadioGroup1']==1)
        {
            $Query = "SELECT Orders.NUM_ORDER, Orders.FIO_ORDER, Orders.PHONE_user, Insurance_Object.Insurance_Summ, Orders.DATE_FINISH  FROM Orders INNER JOIN Insurance_Object ON Orders.ID_ORDER = Insurance_Object.ID_ORDER WHERE (Orders.DATE_ORDER >= " . $_POST['date_start'] . " and " . $_POST['date_end'] . "<=Orders.DATE_ORDER);";    
        }
        else if($_POST['RadioGroup1']==2)
        {
            $Query = "SELECT Orders.NUM_ORDER, Orders.FIO_ORDER, Orders.PHONE_user, Insurance_Object.Insurance_Summ, Orders.DATE_FINISH FROM Orders INNER JOIN Insurance_Object ON Orders.ID_ORDER = Insurance_Object.ID_ORDER WHERE (Orders.DATE_ORDER >= " . $_POST['date_start'] . " and " . $_POST['date_end'] . "<=Orders.DATE_ORDER);";

        }
        else if($_POST['RadioGroup1']==3)
        {
            $Query = "SELECT Orders.NUM_ORDER, Orders.FIO_ORDER, Orders.DATE_ORDER, Insurance_Object.Insurance_Summ, BANKS.Bank_Comissing, (Insurance_Object.Insurance_Summ/100)*BANKS.Bank_Comissing AS Comissing FROM (Orders INNER JOIN Insurance_Object ON Orders.ID_ORDER = Insurance_Object.ID_ORDER) INNER JOIN (BANKS INNER JOIN OrderAndBank ON BANKS.ID_BANK = OrderAndBank.ID_Bank) ON Orders.ID_ORDER = OrderAndBank.ID_ORDER WHERE (Orders.DATE_ORDER >= " . $_POST['date_start'] . " and " . $_POST['date_end'] . "<=Orders.DATE_ORDER);";
        }
        else if($_POST['RadioGroup1']==4)
        {
            $Query = "SELECT Orders.NUM_ORDER, NAME_Insurance.NAME_Insurance, Insurance_Object.Tarif, Insurance_Object.Insurance_Summ, ProgrammCodes.Name_Programm, Orders.DATE_ORDER FROM ProgrammCodes INNER JOIN ((Orders INNER JOIN (NAME_Insurance INNER JOIN Insurance_Object ON NAME_Insurance.ID_Insurance = Insurance_Object.ID_NAME) ON Orders.ID_ORDER = Insurance_Object.ID_ORDER) INNER JOIN (BANKS INNER JOIN OrderAndBank ON BANKS.ID_BANK = OrderAndBank.ID_Bank) ON Orders.ID_ORDER = OrderAndBank.ID_ORDER) ON ProgrammCodes.ID_Programm = Orders.ID_Programm WHERE (Orders.DATE_ORDER >= " . $_POST['date_start'] . " and " . $_POST['date_end'] . "<=Orders.DATE_ORDER);";
        }                          */
        $Query = "SELECT Orders.NUM_ORDER, NAME_Insurance.NAME_Insurance, Insurance_Object.Tarif, Insurance_Object.Insurance_Summ, ProgrammCodes.Name_Programm, Orders.DATE_ORDER FROM ProgrammCodes INNER JOIN ((Orders INNER JOIN (NAME_Insurance INNER JOIN Insurance_Object ON NAME_Insurance.ID_Insurance = Insurance_Object.ID_NAME) ON Orders.ID_ORDER = Insurance_Object.ID_ORDER) INNER JOIN (BANKS INNER JOIN OrderAndBank ON BANKS.ID_BANK = OrderAndBank.ID_Bank) ON Orders.ID_ORDER = OrderAndBank.ID_ORDER) ON ProgrammCodes.ID_Programm = Orders.ID_Programm WHERE (Orders.DATE_ORDER >= 2009-05-05 and 2010-06-05<=Orders.DATE_ORDER);";
        $Result = mysql_db_query (DB, $Query, $Link);
        require_once "Spreadsheet/Excel/Writer.php"; 
        $xls =& new Spreadsheet_Excel_Writer(); 
        $xls->send("test1.xls"); 
        $sheet =& $xls->addWorksheet('Order1');
        
        /*for ($i=0; $i<15; $i++)
        {
                //$sheet->write($i,0,mysql_field_name($Result, $i)); 
                $sheet->write($i,0,"sss"); 
        } */                              
        while ($Row = mysql_fetch_array ($Result)) 
      {
         $sheet->write(0,0,$Row[0]);
         $sheet->write(0,1,$Row[1]);
         $sheet->write(0,2,$Row[2]);
         $sheet->write(0,3,$Row[3]);
         $sheet->write(0,4,$Row[4]);
         
    }
        $xls->close(); 
}
?> 

что я делаю не так?

сенкс


Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Test1_6_.ace 1,32 Kb
PM MAIL WWW Skype GTalk YIM MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.