[PHP] Laatste item uit MySQL fetch herkennen

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
Onderstaande code is onderdeel van een cookiecrumb script. De output is bijvoorbeeld:

electronica > computers > desktops
PHP:
1
2
3
4
5
6
7
$qid = db_query("SELECT parent_id, name FROM categories WHERE id = $id");

while (db_num_rows($qid))
{
    list($parent_id, $name) = db_fetch_row($qid);
    $name = "<a href='$CFG->wwwroot/browse.php?id=$id'>$name</a>";
}


Ik zit nu met het probleem dat het laatste element dat door deze loop wordt gehaald, geen link moet worden.

Mijn vraag is: hoe weet ik wanneer ik het laatste element door de loop haal? Ik heb al gedacht aan iets in de zin van (pseudo):

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$qid = db_query("SELECT parent_id, name FROM categories WHERE id = $id");

$aantal = db_num_rows($qid);
$laatste = db_num_rows($qid) - 1;

while (db_num_rows($qid))
{
    if $laatste element
    {
        $name = "$name";
    }
    else
    {
        list($parent_id, $name) = db_fetch_row($qid);
        $name = "<a href='$CFG->wwwroot/browse.php?id=$id'>$name</a>";
    }
}


Ik heb alleen moeite dit logisch te construeren. Kan iemand mij op weg helpen?

P.S. (Vooral voor de moderators) Dit is de tweede vraag die ik vandaag op dit forum stel. Omdat ik mijn vragen opspaar. Uiteraard maak ik er hier geen gewoonte van :) Ben al onderweg naar W&G om op mijn niveau mensen te helpen ;)

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Waarom werk je niet gewoon met een for loop ipv met while?

PHP:
1
2
3
4
5
6
7
8
9
10
11
for ($=0; $i<db_num_rows($fetchblabla);$i++)
{
if ($i == db_num_rows($fetchblabla))
{
dodit();
}
else
{
doyourthing()
}
}

[ Voor 22% gewijzigd door SchizoDuckie op 21-12-2003 21:26 ]

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • Reveller
  • Registratie: Augustus 2002
  • Laatst online: 05-12-2022
ja, waarom eigenlijk?! }:O
in dit geval helemaal nutteloos eigenlijk...
dank je voor deze verlichtende opmerking :)

"Real software engineers work from 9 to 5, because that is the way the job is described in the formal spec. Working late would feel like using an undocumented external procedure."


Acties:
  • 0 Henk 'm!

  • hobbit_be
  • Registratie: November 2002
  • Laatst online: 04-07 12:07
tja als je dan toch gaat 'for' gebruiken

for (alles behalve laatste (-1))
{
//
}
laatste :)

korter en sneller ;)