[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.05.10
Prihlásený: 11.04.12
Príspevky: 12
Témy: 5 | 5
NapísalOffline : 26.08.2010 20:22 | Vypis cesty v stromovej strukture

Ahojte, mozno stupidna otazka, ale sa s tym babrem uz dlho, a nenasiel som odpoved.

chcem vypisat celu cestu ku kategorii napr:

Hlavna stranka >> Hudobne nastroje >> bubny >> drevene
(ak su takto vnorene kategorie do seba)
(pricom mam ID poslednej kategorii (drevene)
Kód:
class Category {

   var $id_category;
   var $category;
   var $description;
   var $parent_id_category;

   function Category() {  //  constructor
      }

 function category_select($id_category){ // 

$sql=mysql_query("SELECT * FROM category WHERE (id_category='$id_category') limit 1");

      while ($myrow = mysql_fetch_array($sql)):
            $this->id_category[]=$id_category;
            $this->category[]=$myrow['category'];
            $this->description[]=$myrow['category_description'];
            $this->parent_id_category[]=$myrow['parent_id_category'];
      endwhile;


}

}

hlavna kategoria ma parent ID vzdy = 0

z toho vychadzam, ze chcem opakovat funkciu: category_select($parent_id_category) dovtedy, pokial sa mi parent_id_category nerovna 0

ked vnorim na koniec funkcie if ($parent_id_category>0) {
category_select($parent_id_category) ;

tak mi ten skript nedoducho zastane :(
tiez asi s tymto je problem: $this->category[] - pouzit to vo vnorenej funkcii (rekurzivne)

viete mi poradit ako na to ?
vrele dakujem za radu

//premenovane (stenley)


Offline

Správca fóra
Správca fóra
Vypis cesty v stromovej strukture

Registrovaný: 27.07.07
Príspevky: 3971
Témy: 51 | 51
Bydlisko: Bratislava
Vek: 32
NapísalOffline : 26.08.2010 21:07 | Vypis cesty v stromovej strukture

http://www.pcforum.sk/post-vp303135.html#303135
http://dev.mysql.com/tech-resources/art ... -data.html


_________________
Desktop: CPU: AMD Athlon64 3000+ | MB: Biostar K8T890-A9 | VGA: NVIDIA GeForce 6200 LE 256MB | RAM: 2x 1GB A-DATA DDR 400 MHz Dual Kit | HDD: WD Caviar Blue 320GB | DVD: LG GSA-H10N | Keyboard: Chicony KU-0420 Silver/Black | Mouse: Logitech RX1000 | Zdroj: Corsair CX400 400W | CASE: DELUX DLC-MD370 Black | LCD: 20" Samsung 206BW | Repro: Teac XL-20
Notebook: ACER Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB / Intel HD Graphics | RAM: 4GB DDR3 1066 MHz | HDD: 640GB
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.05.10
Prihlásený: 11.04.12
Príspevky: 12
Témy: 5 | 5
Napísal autor témyOffline : 26.08.2010 22:37 | Vypis cesty v stromovej strukture

dakujem. je to standardna rekurzivna funkcia.
mozno som napisal otazku skryto: preco mi nefunuje v triede?

ked pouzijem tieto premenne $this->category[]= tak to jednoducho nefunguje, a zbehne to len prvy krat, avsak nie rekurzivne.


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 29.10.08
Prihlásený: 30.07.12
Príspevky: 933
Témy: 2 | 2
NapísalOffline : 26.08.2010 22:39 | Vypis cesty v stromovej strukture

$tes je len aby som si to testol bez potreby databazy
sorac ak to nieje uplne ciste z pohladu PHP, nerobim v PHP takze mi so syntaxou pomahal pan GOOGLE :)

Kód:
<?php
 $tes = array(0=>array('id_category'=>0,'category'=>"Hlavna stranka",'description'=>"",'parent_id_category'=>null),
               1=>array('id_category'=>1,'category'=>"Hudobne nastroje",'description'=>"",'parent_id_category'=>'0'),
               2=>array('id_category'=>2,'category'=>"bubny",'description'=>"",'parent_id_category'=>1),
               3=>array('id_category'=>3,'category'=>"drevene",'description'=>"",'parent_id_category'=>2));

 class Category {
   var $id_category;
   var $category;
   var $description;
   var $parent_id_category;
   var $sql;

   function Category($sql) {  //  constructor
     $this->sql = $sql;
   }

   function category_select($id_category){ //
    //$sql=mysql_query("SELECT * FROM category WHERE (id_category='$id_category')");
    //$myrow = mysql_fetch_array($sql):
      $myrow = $this->sql[$id_category];
      $this->id_category[]=$id_category;
      $this->category[]=$myrow['category'];
      $this->description[]=$myrow['category_description'];
      $this->parent_id_category[]=$myrow['parent_id_category'];
      if ($myrow['parent_id_category']!=null) {
        $this->category_select($myrow['parent_id_category']);
      }

   
   }

   function showPath() {
     $path = "";
     foreach (array_reverse($this->category) as $val) {
       $path = $path.$val.">>";
     }
     echo $path;
   }

  }

  $test = new Category($tes);
  $test->category_select('3');
  $test->showPath();
?>


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 18.05.10
Prihlásený: 11.04.12
Príspevky: 12
Témy: 5 | 5
Napísal autor témyOffline : 26.08.2010 23:47 | Vypis cesty v stromovej strukture

chalani diky moc za ochotu. po tom co som si vsetko tu precital (a aj nieco nove sa priucil) som objavil svoju banalnu chybu.
vrele dakujem


 [ Príspevkov: 5 ] 


Vypis cesty v stromovej strukture



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

načítanie stromovej štruktúry

v Databázy

7

752

26.10.2008 20:14

p360t

V tomto fóre nie sú ďalšie neprečítané témy.

Smernik v strukture C

v Assembler, C, C++, Pascal, Java

14

647

03.12.2008 17:32

neutronmind

V tomto fóre nie sú ďalšie neprečítané témy.

Súhrnné cesty ...

v Siete

0

178

14.07.2010 13:49

RomanB

V tomto fóre nie sú ďalšie neprečítané témy.

Notebook na cesty

v Notebooky a netbooky

2

218

31.10.2011 7:41

Cirky

V tomto fóre nie sú ďalšie neprečítané témy.

Strom z cesty

v PHP, ASP

1

95

05.02.2014 17:49

killer

V tomto fóre nie sú ďalšie neprečítané témy.

Tablet na cesty

v Mobilné zariadenia

13

386

23.11.2013 22:01

peroxid

V tomto fóre nie sú ďalšie neprečítané témy.

Prepisanie rel/abs cesty

v PHP, ASP

8

329

26.01.2009 12:25

M@tt21

V tomto fóre nie sú ďalšie neprečítané témy.

zistenie cesty k suboru

v PHP, ASP

3

362

25.08.2008 17:25

php_user

V tomto fóre nie sú ďalšie neprečítané témy.

Změna cesty k mechanice

v Operačné systémy Microsoft

9

305

27.10.2008 12:15

pl4toon

V tomto fóre nie sú ďalšie neprečítané témy.

Notebook na cesty do 300€

v Notebooky a netbooky

1

106

30.12.2012 11:20

eXistenZ

V tomto fóre nie sú ďalšie neprečítané témy.

Patria staré autá na cesty?

[ Choď na stránku:Choď na stránku: 1, 2, 3, 4 ]

v Automobily, motorky

103

6057

27.08.2006 11:00

Fireblade46

V tomto fóre nie sú ďalšie neprečítané témy.

NTB do 700€ na cesty

v Notebooky a netbooky

3

161

01.08.2012 14:20

mtxd

V tomto fóre nie sú ďalšie neprečítané témy.

zistenie cesty a zapisanie do playlistu

v Ostatné

8

332

27.02.2009 19:17

dafo

V tomto fóre nie sú ďalšie neprečítané témy.

Prepisanie cesty ukladania blokov v Bitcoin

v Ostatné programy

5

151

04.12.2013 13:08

Kraliček

V tomto fóre nie sú ďalšie neprečítané témy.

notebook na cesty do cca €500

v Notebooky a netbooky

3

141

09.12.2013 11:32

nescafe

V tomto fóre nie sú ďalšie neprečítané témy.

Uzatvorenie verejnej cesty pre potreby natáčania filmu...

v Krčma

7

592

26.05.2012 22:07

otec87



© 2005 - 2017 PCforum, edited by JanoF