/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Rekursiv funktion
Fra : Anders M


Dato : 14-08-09 18:18

hej..

er der nogen der kender en god rekursiv funktion til php med
udtræk fra en mysql database med felterne id, title og parent
hvor id og parent er tal.?

Mvh Anders

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Stig Sørensen (14-08-2009)
Kommentar
Fra : Stig Sørensen


Dato : 14-08-09 12:04

On Aug 14, 7:17 pm, Anders M <b...@fixgroup.dk> wrote:
> hej..
>
> er der nogen der kender en god rekursiv funktion til php med
> udtræk fra en mysql database med felterne id, title og parent
> hvor id og parent er tal.?
>

Jeg har lavet nedenstående funktion, hvor jeg også har et parent_id
felt der refererer til id feltet.
Og så længe parent_id ikke er lig med 0 ja så skal der foretages en
query:

Et udsnit af funktion som har mest relevans:

function get_cats($id) {

      // Get all subcategories from the currents category's id
      $cats = array();
      while ($id != 0) {

         $sql = "SELECT * FROM `categories`WHERE `id` = " . $id . "";
         $this->query($sql);
         $sub = $this->result2array();

         // Gemme data i et array, eller hvad du nu end har brug for


         // Id is now the parentid from the former category - lets make
another query as long as it isn't 0
         $id = $sub['parentid'];

      }
}



Håber det kunne bruges.

Leif Neland (14-08-2009)
Kommentar
Fra : Leif Neland


Dato : 14-08-09 19:11

Stig Sørensen skrev:
> On Aug 14, 7:17 pm, Anders M <b...@fixgroup.dk> wrote:
>> hej..
>>
>> er der nogen der kender en god rekursiv funktion til php med
>> udtræk fra en mysql database med felterne id, title og parent
>> hvor id og parent er tal.?
>>
>
> Jeg har lavet nedenstående funktion, hvor jeg også har et parent_id
> felt der refererer til id feltet.
> Og så længe parent_id ikke er lig med 0 ja så skal der foretages en
> query:
>

Vender du det ikke på hovedet? (Og her tænker jeg ikke på at træer ofte
tegnes med roden først)

Roden har ofte parent_id=0

Mine børn har mit id som parent_id.

Er der ingen børn, der har mit id som parent_id, er jeg barnløs, en
leaf-node.

Er der ingen noder, der har mit parent_id som id, er jeg forældreløs, og
det er ikke godt i et træ, med mindre man er en rod

Leif

Anders M (14-08-2009)
Kommentar
Fra : Anders M


Dato : 14-08-09 19:50

Stig Sørensen wrote in dk.edb.internet.webdesign.serverside.php:
> On Aug 14, 7:17 pm, Anders M <b...@fixgroup.dk> wrote:
> > hej..
> >
> > er der nogen der kender en god rekursiv funktion til php med
> > udtræk fra en mysql database med felterne id, title og parent
> > hvor id og parent er tal.?
> >
>
> Jeg har lavet nedenstående funktion, hvor jeg også har et parent_id
> felt der refererer til id feltet.
> Og så længe parent_id ikke er lig med 0 ja så skal der foretages en
> query:
>
> Et udsnit af funktion som har mest relevans:
>
> function get_cats($id) {
>
>       // Get all subcategories from the currents category's id
>       $cats = array();
>       while ($id != 0) {
>
>          $sql = "SELECT * FROM `categories`WHERE `id` = " . $id . "";
>          $this->query($sql);
>          $sub = $this->result2array();
>
>          // Gemme data i et array, eller hvad du nu end har brug for
>
>
>          // Id is now the parentid from the former category - lets make
> another query as long as it isn't 0
>          $id = $sub['parentid'];
>
>       }
> }
>
>
>
> Håber det kunne bruges.

Hej,

Tak for det fine svar. Jeg er meget ny i PHP, så kan du evt. få den
til at udskrive felterne (<a href="felt id">felt name</a>)?

Mvh Anders

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Stig Sørensen (14-08-2009)
Kommentar
Fra : Stig Sørensen


Dato : 14-08-09 17:06

On Aug 14, 8:10 pm, Leif Neland <l...@neland.dk> wrote:

> Vender du det ikke på hovedet? (Og her tænker jeg ikke på at træer ofte
> tegnes med roden først)

Jo, men jeg smider resultatet i en array, og laver en array_reverse.
Når jeg har dine oldebørn som 'id', er det nemmest at tælle baglæns
tilbage gennem børnebørn, børn og så dig som forældre - og så vende
hele skidtet. (er min mening).

> Er der ingen noder, der har mit parent_id som id, er jeg forældreløs, og
> det er ikke godt i et træ, med mindre man er en rod

Så er man jo bare en forældre uden 'børn' i dette sammenhæng. Det
tager funktionen jo ikke højde for, og virker præcis som den skal, til
mit forbrug (breadcrumbs med dybe (under)kategorier).

Mvh
Stig

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste