[PHP] [Oracle] cursors onderling gebruiken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Besten,

Ok heb lokaal met succes een Oracle server draaien.
Daar staat een database met 2 tabellen op.

Tabel1:
code:
1
2
ID1     number
NR      number


Tabel2:
code:
1
2
ID2     number
STRING      varchar


Met volgende code kan ik de rijen van tabel1 oproepen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$user = "blabla";
$pass = 'blabla';

$conn = ora_logon($user, $pass);
$mycursor = ora_Open($conn);

$q1 = 'SELECT * FROM Tabel1';
ora_parse ($mycursor, $q1, 0);
ora_exec ($mycursor);
while (ora_fetch($mycursor))
{
    echo ora_getcolumn ($mycursor, 0);
    echo ora_getcolumn ($mycursor, 1);
}
ora_close($mycursor);


Dat werkt perfect.

Nu wil ik dat in de while lus er in plaats van NR de bijhorende STRING komt te staan.
Hiermee bedoel ik dat in die while lus, in Tabel2 moet moet gezocht worden waar NR = ID2 en die zijn bijhorende STRING moet afgedrukt worden.

Ik heb al vanalles geprobeerd, bv dit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$user = "blabla";
$pass = 'blabla';

$conn = ora_logon($user, $pass);
$mycursor = ora_Open($conn);

$conn2 = ora_logon($user, $pass);
$mycursor = ora_Open($conn2);

$q1 = 'SELECT * FROM Tabel1';
ora_parse ($mycursor, $q1, 0);
ora_exec ($mycursor);
while (ora_fetch($mycursor))
{
    $q2 = 'SELECT * FROM Tabel2 WHERE ID2 = ora_getcolumn ($mycursor, 0)';
    ora_parse ($mycursor2, $q2, 0);
    ora_exec ($mycursor2);
    while (ora_fetch($mycursor2))
    {
        $tmp = ora_getcolumn ($mycursor2, 1);
    }
    echo ora_getcolumn ($mycursor, 0);
    echo $tmp;
}
ora_close($mycursor);
ora_close($mycursor2);


Iemand raad?

Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Kun je wel zomaar een php functie in een string opnemen? Ik ben geen held met PHP, dat moet ik er wel bijvertellen.

Acties:
  • 0 Henk 'm!

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

code:
1
2
3
4
5
select tabel1.id1
, tabel2.string
from tabel1
, tabel2
where tabel1.nr = tabel2.id2

Who is John Galt?