Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2017, 05:11   #1
Demedrol
Новичок
Джуниор
 
Регистрация: 20.09.2017
Сообщений: 1
Восклицание 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, 07:50   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

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

Лучше б рассказали в чем именно проблема.
http://phpfaq.ru/debug
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 20.09.2017, 08:41   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

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


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


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