PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (1): [1]

> Найдено сообщений: 9
shiva4 Отправлено: 19 Ноября, 2018 - 12:06:40 • Тема: определить последняя запись в выборке • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 61
Спасибо
shiva4 Отправлено: 16 Ноября, 2018 - 07:42:34 • Тема: определить последняя запись в выборке • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 61
Спасибо. Вполне вариант Улыбка

а назад вернуться как? или только переоткрытие запроса нужно делать? Или только с массивом работать после oci_fetch_all?
shiva4 Отправлено: 15 Ноября, 2018 - 15:58:46 • Тема: определить последняя запись в выборке • Форум: SQL и Архитектура БД

Ответов: 4
Просмотров: 61
привет.

Как в php при работе с выборкой (oracle) определить что запись последняя? Объясню.

Я ранее работал на делфи и там в компоненте query было свойство "eof" которое и определяло что запись последняя в выборке. Т.е. идешь по выборке и что то делаешь, а когда в процессе движения по выборке нужно на последнем шаге что то сделать, проверял что то в духе:

if query.eof
begin
..тут выполняешь какие то действия
end


Да, и еще вопрос вдогонку. Если делаешь некую выборку с каким то количеством полей, но выводить надо не все поля, как это сделать?
в php через oci_fetch_array получаешь значение, но проанализировать что запись последняя не пойму как(если это возможно)..

Когда цикл вычитки из БД Oracle через oci_fetch_array организовал, то по завершении его понятно что имеешь последнюю запись? но когда действие которое надо выполнить в цикле уже выполнено действия после цикла - уже не актуальны.

Нашел советы:
1. выполнить ту же выборку только вместо списка интересующих полей вводишь что то вроде count(*) cnt.
2.После, сохранить это значение в переменную например $cnt.
3. Снова формируешь выборку со всем списком интересующих полей и в цикле
4. Делаешь счетчик например $i = 1 который будет увеличиваться на каждом шаге в цикле п.5
5. В цикле где используем oci_fetch_array сравниваеть if ($i == $cnt) {найдена последняя запись..}

Но это как то громоздко.

Нет ли чего то подобного в делфийских query.eof? или выше описаный способ единственное решение?
shiva4 Отправлено: 01 Ноября, 2018 - 14:49:35 • Тема: apache и php • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 782
Разобрался. Вопрос закрыт.
shiva4 Отправлено: 01 Ноября, 2018 - 10:39:56 • Тема: apache и php • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 782
Возникла другая проблема.

Запустил свой код, отображающий данные выборки из таблицы Oracle под:
php 7.1+apache2.4+ client Oracle 11

и информация в таблице отображается "крякозябрами"!


Тот же код на php 5.3.5 +apache2.2+client oracle9.2 отображает данные в таблице нормально!

Исходно, когда сегодня добился работы php7 с Oracle на компе был только client oracle 11.
После этого для интереса, остановил связку apache 2.4+php7, установил еще 1 клиент Oracle 9.2. и после этого запустил apache2.2+php 5.3.5

В итоге на связке apache2.2+php 5.3.5 данные в таблице отображаются нормально.


В реестре для oracle9 и oracle 11 NLS_LANG установил RUSSIAN_CIS.CL8MSWIN1251
пробовал кодировку AMERICAN_CIS.CL8MSWIN1251, но это тоже ничего не дало.
Файл php где выполняется код в кодировке utf-8

Судя по тому что именно данные из таблицы получается данные из Oracle на веб страницу поступают в такой кодировке..Браузер 1 и тот же использую на обоих случаев (php5 и php7)
shiva4 Отправлено: 31 Октября, 2018 - 16:03:16 • Тема: apache и php • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 782
В общем дошло. Я для Pear скачивал файлы. С ними не разобрался как поставить, а вот Dll ссылку видел да не воспринял ее как ссылку на dll файлы. Под 11-м клиентом Oracle и версией dll для 11-го Oracle apache запустился без ошибок. Спасибо за помощь.
shiva4 Отправлено: 10 Октября, 2018 - 09:44:50 • Тема: apache и php • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 782
спасибо. попробую Улыбка
shiva4 Отправлено: 08 Октября, 2018 - 15:01:08 • Тема: apache и php • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 782
Не очень понятно. Скачал и распаковал архив. что дальше?

Посмотрел по каталогам php и Apache Единственно что нашел, так это в \каталог_апачи\include файлы с расширением *.h

*.h -a файлы положить в этот каталог_апачи\include и рестарт Апачи? Или вообще я не то даже думаю что надо делать?
shiva4 Отправлено: 04 Октября, 2018 - 14:26:48 • Тема: apache и php • Форум: Apache и другие веб-серверы

Ответов: 7
Просмотров: 782
Всем привет.

Не давно стал изучать HTML + PHP.


Дошло дело до работы с Oracle через php и тут возникла проблема с подключением библиотеки.
В error.log апачи пишет мол не могу загрузить.

проблема со следующей связкой софта:

PHP 7.1.9 + apache 2.4
Клиентов оракла 3: 9-й, 10-й, 11-й
Пути прописаны в окружении windows10 x32 на все 3 клиента.

Не получив положительного результата, попробовал версию ниже:
apache 2.2 + php 5.3.5

В начале в error.log апачи тоже самое выдавала и эта связка на попытку подключения библиотеки

Скопировав файл из 10-го клиента oracle oci.dll в папки \apache\bin

и перезапустив службу апачи на этой связке все заработало.

Попытавшись сделать тоже самое на связке php7 + apache 2.4 результата не добился. Пробовал oci.dll со всех 3-й имеющихся клиентов но результата нет. При перезапуске службы в error.log все равно пишется мол не могу загрузить.

Так же пробовал скопировать библиотеку с 5-го php в папку \ext 7-го php и строку расширения из 5-го php в php.ini 7й верcии, но так же успехов не добился.

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB