Interar result set

Olá pessoal,

Seguinte, após obter o result set de um sc_select(), durante a interação (MoveNext()), caso queira interar para trás, o que devo utilizar ?

No harbour utilizo dbskip() para frente e dbskip(-1) para trás.
Como venho estudando o PHP junto as necessidades de uso do SC7, não consegui “achar” nada com o recurso que preciso!

Grato,

Jocimar

Coloque no select “ORDER BY COLUNA DESC”

O objetivo não é interar assim, preciso realmente, que, estando a interar para frente, eu possa voltar uma linha para capturar informação, e depois prosseguir.
Sei que posso capturar o número de cada linha, e ir para linha que quiser, e depois prosseguir com movenext(), porém gostaria de saber se existe “algo” para “mover” para linha anterior automaticamente do ponto em que estiver.
Exemplo:
Tenho 10 linhas no result set, em um dado momento estou na linha 6, e quero voltar para a linha 5 (capturar algo), depois retornar onde estava, e prosseguir!

Grato,

Jocimar

O ScriptCase utiliza a classe ADODB.

acesse esse link e verifique se tem algo que possa ser útil para você.
http://phplens.com/adodb/

Olá Almeida,

Nesta página já havia visto para mover (primeiro, último, próximo, …), mas não havia achado nada para “anterior”.
Vou analisar melhor, caso não encontre terei que fazer o controle através de variável do número do registro.

Obrigado,

Jocimar

Não sei se a NM manipula as bibliotecas PDO.
Mas se o move funcionar, pode tentar criar um contador, e usar o move no contador corrente -1, ou usar o GetRow para pegar o registro corrente.

Esse exemplo que o Haroldo citou , acho que resolve seu problema. Use o move para a registro, pegue o dado e retorne o move para o registro atual, continue seu script.

Obrigado Almeida / Horoldo,

Na verdade foi a maneira que havia encontrado de fazer, mas tinha “esperança” de ter algo pronto (tipo: “MoveOld()” “da vida”) que fizesse isto!

Grato,

Jocimar

Na verdade até tem, mas de uma maneira diferente da que está acostumado no harbour.
Pense sempre como navegar em um array.
o sc_lookup retorna um array, navegue nele, tanto para frente como para trás.

A navegação no array pelo sc_lookup já utilizava, neste caso preciso que seja pelo sc_select() como havia citado!
No caso do harbour apenas mencionei como a “necessidade” de percorrer as linhas!

Muito Obrigado,

Jocimar