Functie herhalen tot er resultaat is
Bob v H
18/06/2013 18:55:37Beste coders,
Ik heb de volgende code gemaakt:
function get_highest_parent($pID) {
$parent = get_first_where("parent","pages","pID",$pID);
if ($parent == 0) {
return get_first_where("path","pages","pID",$pID);
} else {
$pID = $parent;
$parent = get_first_where("parent","pages","pID",$parent);
if ($parent == 0) {
return get_first_where("path","pages","pID",$pID);
} else {
// repeat same function
}
}
}
Zoals je ziet wil ik dat deze functie herhaald wordt totdat een pagina is gevonden met de waarde "0" in de kolom "parent".
Het doel van de functie: ik heb een database met allemaal pagina's die ondermeer een uniek id (pID), parent (0 indien geen bovenliggende pagina) en path hebben. Ik wil de path van de pagina die het hoogst in de menustructuur staat echo'en. De database ziet er ongeveer als volgt uit:
pID | path | parent
1 | home | 0
2 | over | 0
3 | over/geschiedenis | 2
4 | over/geschiedenis/jaren80 | 3
Dus op de pagina met pID 1 zou de functie returnen "home", en op de pagina's met pID 2, 3 en 4 zou de functie returnen "over".
Is er een minder omslachtige manier om deze herhaalfunctie op te stellen?
Groeten, Bob
Ik heb de volgende code gemaakt:
function get_highest_parent($pID) {
$parent = get_first_where("parent","pages","pID",$pID);
if ($parent == 0) {
return get_first_where("path","pages","pID",$pID);
} else {
$pID = $parent;
$parent = get_first_where("parent","pages","pID",$parent);
if ($parent == 0) {
return get_first_where("path","pages","pID",$pID);
} else {
// repeat same function
}
}
}
Zoals je ziet wil ik dat deze functie herhaald wordt totdat een pagina is gevonden met de waarde "0" in de kolom "parent".
Het doel van de functie: ik heb een database met allemaal pagina's die ondermeer een uniek id (pID), parent (0 indien geen bovenliggende pagina) en path hebben. Ik wil de path van de pagina die het hoogst in de menustructuur staat echo'en. De database ziet er ongeveer als volgt uit:
pID | path | parent
1 | home | 0
2 | over | 0
3 | over/geschiedenis | 2
4 | over/geschiedenis/jaren80 | 3
Dus op de pagina met pID 1 zou de functie returnen "home", en op de pagina's met pID 2, 3 en 4 zou de functie returnen "over".
Is er een minder omslachtige manier om deze herhaalfunctie op te stellen?
Groeten, Bob
PHP hulp
17/11/2024 15:39:21Wouter J
18/06/2013 19:10:24Niet getest: