
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
|