Ответов: 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? или выше описаный способ единственное решение? |