Форум программистов  
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 20.09.2017, 06:11   #1
Demedrol
Новичок
 
Регистрация: 20.09.2017
Сообщений: 1
Репутация: 10
Восклицание PHPexcel в PHP7

Доброе время суток, бьюсь уже неделю с проблемой вывода данных из oracle в формате excel. Кто подскажет что не так? Вот конфиг соеденения
Код:

<?php
 
/** ERRORS **/
 
error_reporting(E_ALL);
ini_set('display_errors', 1);
 
 
/** Log pas host db */
 
define ("HOST","********") ;
define ("USER","********") ;
define ("PASSWORD","*******") ;
 
$conn = oci_connect(USER,PASSWORD,HOST,'utf8') ;
 
 if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
    
}
 
 
?>

Параметр $conn = oci_connect для соединения с БД Oralce.
Сам конфиг работает и соеденяется с БД если вывод информации происходит на самом сайте в онлайн режиме. А вот кнопка скачать в Формате Excel не хочет работать. Исходник функции
Код:

<?php
function get_price() {
 
 $sql = "Тут запрос";
 $result = mysqli_query($sql);
 
 if(!$result) {
  exit(mysqli_error());
 }
 
 $row = array();
 for($i = 0;$i < mysqli_num_rows($result);$i++) {
  $row[] = mysqli_fetch_assoc($result);
 }
 
 return $row; 
}
 
?>

И в итоге происходит ошибка на эту линию $result = mysqli_query, кто подскажет как это выглядит в PHP7? Судя повсему у меня проблемы вывода и такую команду файл вообще не принимает.
Вот сам index.php
Код:

<?php
require_once 'config.php';
require_once 'functions.php';
 
$price_list = get_price();
 
$objPHPexcel = new PHPEXcel ();
 
?>

Ниже привожу рабочий PHP для вывода информации через сайт, файл конфиг используется тот же:
Код:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Подключается к XE сервису (т.е. к базе данных) на "localhost"
 
require_once 'config.php' ;
 
//$charset = "UTF8";
 
//mysqli_set_charset('$conn','UTF8');
 
//header('Content-type: text/plain; charset=utf-8');
 
$art = $_POST['art'];
echo 'Вы ввели Артикул №: ' . $art . ' !';
 
$stid1 = oci_parse($conn, "SELECT DISTINCT P.MID_AID_ARTNR, COUNT(P.TEID), SUM(P.MNGS_MNG/P.MNGS_VEHEFA) KOL FROM GLOBUSM.TEP P WHERE 1=1 and P.MID_AID_ARTNR = '$art' GROUP BY P.MID_AID_ARTNR ");
 
oci_execute($stid1);
 
echo "<table cellpadding='4' bordercolor='#d3deed' border='1'>\n";
echo "<tr align='center' bgcolor='#d3deed' cellpadding='7'>";
echo "<th>ART</th>";
 
echo "<th>Кол-во паллет</th>";
echo "<th>Кол-во коробов</th>";
echo "</tr>";
while ($row = oci_fetch_array($stid1, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr align='center'>\n";
foreach ($row as $item) {
echo " <td align='center'>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
 
echo "<hr>";
 
$stid = oci_parse($conn, "
 
SELECT 
 
KST.ADRS_NAME,
 
K.POS_FELDID,
P.TEID, 
P.MID_AID_ARTNR, 
ART.ARTBEZ,
FES.LAZNRKOM,
P.MNGS_MNG/ART.MNGS_VEHEFA, 
TO_CHAR(P.HIST_ANZEIT, 'DD.MM.YYYY'),
to_char(p.HIST_ANZEIT,'dd.mm.yyyy hh24:mi:ss')VR_PIK
FROM GLOBUSM.TEP P
LEFT JOIN GLOBUSM.TEK K ON P.TEID = K.TEID
LEFT JOIN GLOBUSM.ART ON ART.AID_ARTNR = P.MID_AID_ARTNR
LEFT JOIN GLOBUSM.KORT ON KORT.AID_ARTNR = ART.AID_ARTNR
LEFT JOIN GLOBUSM.FES ON FES.FELDID = KORT.KOMPOS_FELDID
LEFT JOIN GLOBUSM.TPA tp ON tp.TEID = P.TEID
LEFT JOIN GLOBUSM.LAZPOS l ON l.POS_FELDID = K.POS_FELDID
LEFT JOIN GLOBUSM.KST ON KST.KUNR = l.KUNR
WHERE 1=1
--and FES.LAZNRKOM = '02PBL'
AND P.MID_AID_ARTNR = '$art'
order by VR_PIK desc
 
");
oci_execute($stid);
 
echo "<table cellpadding='4' bordercolor='#d3deed' border='1'>\n";
echo "<tr align='center' bgcolor='#d3deed' cellpadding='7'>";
 
echo "<th>ГМ</th>";
echo "<th>Место</th>";
echo "<th>TE</th>";
echo "<th>Артикул</th>";
echo "<th>Название</th>";
echo "<th>Линия</th>";
echo "<th>Коробов</th>";
echo "<th>Дата приемки</th>";
echo "<th>Последний Пик</th>";
echo "</tr>";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "<tr align='center'>\n";
foreach ($row as $item) {
echo " <td align='center'>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "") . "</td>\n";
}
echo "</tr>\n";
}
echo "</table>\n";
 
 
 
oci_free_statement($stid1);
oci_free_statement($stid);
oci_close($conn);
 
 
 
?>

Demedrol вне форума   Ответить с цитированием
Старый 20.09.2017, 08:50   #2
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 14,647
Репутация: 2887

icq: 512-7шесть5
skype: alexp.frl
По умолчанию

Так а БД причем?

Лучше б рассказали в чем именно проблема.
http://phpfaq.ru/debug
Alex11223 вне форума   Ответить с цитированием
Старый 20.09.2017, 09:41   #3
ADSoft
Профессионал
 
Регистрация: 25.02.2007
Адрес: Татарстан
Сообщений: 3,041
Репутация: 843

icq: 303-206-418
skype: ad-soft.info
По умолчанию

знатный зоопарк.... и Оракл и Мускль так задумано? что вы из базы MySQL пытаетесь получить данные?
Ошибку какую пишет приведите... или тайна?
работу с БД в функцию вынесли... а подключение к бд итд - за ее пределами?
Есть подозрение что ваш код не работал и в других версиях php ... и 7 я версия не при чем
ADSoft вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PHPExcel, вставить/добавить строку kuzjma PHP 0 20.02.2012 17:32
не могу установить phpexcel на денвер ubun PHP 3 25.10.2011 22:25




23:47.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru