[PHP pear] hoe doe ik dit netjes?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Q
  • Registratie: November 1999
  • Laatst online: 14:14

Q

Au Contraire Mon Capitan!

Topicstarter
Hallo,

Het onderstaande stukje (test) code werkt naar behoren.

Als ik echter regel nummer 23 weglaat. Wordt de 2e while loop maar 1 keer uitgevoerd omdat ->fetchrow() het laatste record heeft gehad en niet automatisch weer bij de eerste regel begint. De bij de tweede iteratie van de 1e while loop wordt de 2e while direct overgeslagen.

Okee, deze code werkt, maar ipv gewoon bruut overnieuw de query te trekken, is er niet iets netters (ik verzin iets) zoals: $uitgaveobject->fetchrow(ietswaardoorieweer overnieuw begint?)


PHP:
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
$sql = "select * from type";
$typeobject = $db->query($sql);

$sql = "select * from uitgave";
$uitgaveobject = $db->query($sql);

$i=0;

while( $row1 = $typeobject->fetchrow() ){

        $type = $row1[1];

        echo "A <BR>";
        while ( $row2 = $uitgaveobject->fetchrow() ) {

                if ( $row1[0] == $row2[1] ){

                        $temp += $row2[2];
                }

        }

        $uitgaveobject = $db->query($sql);
        echo "B <BR>";
        echo "$type = $temp <BR>";
}


Excuus voor de rommel in de code...

[ Voor 8% gewijzigd door Q op 10-12-2002 15:12 ]


Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
Manual :?

mssql_data_seek
mssql_data_seek
msql_data_seek
fbsql_data_seek

Etc etc.

[ Voor 60% gewijzigd door Grum op 10-12-2002 15:37 . Reden: Meer links (dbwrapper, dus niet automagisch Mysql :)) ]


Acties:
  • 0 Henk 'm!

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
offtopic:
Grummie!

Acties:
  • 0 Henk 'm!

  • Grum
  • Registratie: Juni 2001
  • Niet online
offtopic:
Nielzie!

Acties:
  • 0 Henk 'm!

  • Q
  • Registratie: November 1999
  • Laatst online: 14:14

Q

Au Contraire Mon Capitan!

Topicstarter
Heel vriendelijk, maar dit zijn voor deen deel database specifieke queries. Dit is echter een specifieke vraag naar het gebruik van pear.

Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

het is niet de
PHP:
1
$db->query($sql);

die de data uit de db haalt, maar:
PHP:
1
$uitgaveobject->fetchrow()


zomaar je recordset resetten heeft dus niet veel zin.
Je zou voor je eerste loop de gegevens in een array kunnen zetten, en dan verder werken met dat array.

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • Q
  • Registratie: November 1999
  • Laatst online: 14:14

Q

Au Contraire Mon Capitan!

Topicstarter
Hmm. Dat met die array is ook een idee. Niet dat performance nu een probleem is, maar t is wel wat netter. Dankjewel.
Pagina: 1