Subject | Re: [firebird-php] Re: Reformatted |
---|---|
Author | masotti |
Post date | 2008-10-14T14:54:34Z |
Hi Jay,
try to be more precise, but this is more or less a support question. You
can find a lot of samples searching in firebird-support newsgroup.
$stmtf = "SELECT * FOR 1 SKIP ? FROM APPLIED";
is only a better solution than your, but not optimal.
This is a select for a single record, skipping "n" record before.
This has some caveats in multi user environment because:
1) is a nonsense without an ORDER BY on a UNIQUE index.
2) is a nonsense through different transactions, as every script start
begins a new IBASE_DEFAULT transaction that is committed at the end of
the PHP script.
I can leave you with this simple Zen exercise, useful to understand
better the situation: what is recorn number N-1 when someone can insert
a record between N-1 and N when you are at record N and you want to
retrieve the record you have read before?
As a solution approach, I tend to read a filtered result set in an
in-memory PHP associative array, then manage to read data from there
through direct AJAX (not ajaxCall()). INSERT, UPDATE and DELETE
management depends from application's type.
Ciao.
Mimmo.
try to be more precise, but this is more or less a support question. You
can find a lot of samples searching in firebird-support newsgroup.
$stmtf = "SELECT * FOR 1 SKIP ? FROM APPLIED";
is only a better solution than your, but not optimal.
This is a select for a single record, skipping "n" record before.
This has some caveats in multi user environment because:
1) is a nonsense without an ORDER BY on a UNIQUE index.
2) is a nonsense through different transactions, as every script start
begins a new IBASE_DEFAULT transaction that is committed at the end of
the PHP script.
I can leave you with this simple Zen exercise, useful to understand
better the situation: what is recorn number N-1 when someone can insert
a record between N-1 and N when you are at record N and you want to
retrieve the record you have read before?
As a solution approach, I tend to read a filtered result set in an
in-memory PHP associative array, then manage to read data from there
through direct AJAX (not ajaxCall()). INSERT, UPDATE and DELETE
management depends from application's type.
Ciao.
Mimmo.