Jump to content
php.lv forumi

izklājums


o2T

Recommended Posts

izmeegjinaajos dazhaadi,nekas nenaak galvaa. probleema ir ar koka izklaajumu,nu taa kaa lapas karte URL=http://portals.rsk.lv/main.php?cat=17&lng=lat]re kaa es domaaju[/url].

katram zaram man ir [nr][seciba][nosaukums].

pashu menu bija tik viegli uztaisiitlai raada apaksmenu aktiivajam zaram,bet nu shitas man kaut kaads murgs.

help?

Link to comment
Share on other sites

kādu laiku es pats plosījos kamēr ko līdzīgu dabulu gatavu es tasīju tā ar DB struktūru

 

tabula main

---id----text---

1 | bdbmnb|

2 | mnmcn |

 

tabula apaksadala

---id----text---main_id---

3 | bdbmnb| 2 |

4 | mnmcn | 1 |

 

tabula apaks_apaksadala

---id----text---main_id---apaksadalas_id---

1 | bdbmnb| 2 | 3

2 | mnmcn | 1 | 4

 

un tad cep augšā selectus kuri atkarīgi no to kur esi iebraucis met ārā to ko vajag zīmē linkus etc :blink:

Edited by sviesc
Link to comment
Share on other sites

Lai arī lielie onkuļi saka, ka rekursija ir slikta, šī ir viena no vietām, kur es to izmantoju.

 

Uztaisām funkciju, kas atgriež kāda noteikta elementa apakšelementus un tad nu staigājam cauri visai struktūrai - atlasām visus saknes elementus, kuriem nav vecāka elementa un tad ciklā cauri visiem elementiem pārbaudām, vai ir apakšelementi, ja ir, tad izmantojam uzrakstīto funkciju un izsaucam to vēlreiz, tikai nu jau ar dziļāku elementu kā saknes elementu. Attiecīgi arī to visu noformējam - vai nu liekam masīvā un formējam pēc tam, vai arī pa taisno.

Link to comment
Share on other sites

es tieshi taa arii meegjinaaju,varbuut kaut ko nojaucu.bet thanks;) gruutaakais jau tas,ka dazham nav neviena apakshsadalja,dazham 56(paarspiileeju) un izvada man ne taadaa seciibaa,pareizaak,galiigi ne taadaa,kaa vajag;) visu dienu jau mocos.

Link to comment
Share on other sites

Nu tak elementāra rekursija:

Tabulas struktūra (table):

id name parent_id

---------------------------------

1 virs1 0

2 virs2 0

3 apaksh1.1 1

4 apaksh1.2 1

 

PHP skripts:

function display($parent)
{
 $res = mysql_query("SELECT * FROM table WHERE parent_id = $parent");
 while ($row = mysql_fetch_row($res))
 {
    echo $row[1]. "\n";
    display($row[2]);
 }
 mysql_free_result($res);
}
display(0);

 

Kaklz: rekursija nav slikta, ja to izmanto pareizā vietā pareiziem mērķiem. Piemēram, tādam kā šis. Rekursiju vajag mācēt pareizi izmantot, tajā ir liels spēks! ;)

Link to comment
Share on other sites

×
×
  • Create New...