Autor Zpráva
Kcko
Profil
Nejak sem nemel co delat tak sem si ruznymi zpusoby zkousel generovat skrukturovane komentare. Kdyz me to unavilo tak sem hledal jak to delaji jini. Narazil sem na clanek ktery vysel na intervalu

-> http://interval.cz/clanky/metody-ukladani-stromovych-dat-v-relacnich-d atabazich/

A hned me tukl do oci prvni pripad.

function getTree($parent, $level) {
$result = mysql_query('SELECT * FROM TREE WHERE PARENT_ID='.$parent);
while ($row = mysql_fetch_assoc($result)) {
echo str_repeat("&nbsp;",$level).$row['NAME']."<br />";
getTree($row['ID'], $level++);
}
}

Kdyz ji zavolame getTree(0, 0);

tak se nam to nevypise tak jak by melo . ( Hodil sem do tabulky 3 radky s rodicem 0 ) a bylo to takto
1
&nbsp;2
&nbsp;&nbsp;3


$level++ je ocivididne spatne ma tam byt $level + 1


Kdyz vidim jak se v komentarich vzrusene diskutovalo, jak je mozne ze si toho nikdo nevsiml?
byte
Profil *
mezi zápisem $level + 1 a $level++ není žádný rozdíl
djlj
Profil
Kcko
Asi máš na mysli $level += 1 nebo $level = $level + 1. Každopádně jak psal byte je to úplně to samé, jako $level++.
Alphard
Profil
mezi zápisem $level + 1 a $level++ není žádný rozdíl
je a velký, $level++ vrátí hodnotu $level, potom k ní přičte jedničku (změní se hodnota proměnné),
$level + 1 vrátí hodnotu $level s přičtenou 1, ale původní hodnotu $level již neovlivní
DFly
Profil
a pro doplneni jeste ++$level (nejdrive pricte 1 a pak tu hodnotu vrati)
Kcko
Profil
Alphard To spravne pochopil. Pokud se Vam chce a na prvni pohled se Vam ta jejich fce zda bezchybna tak si vyzkousejte

$level++ a pak $level + 1 a vysledek dostavi.

Dik za reakce
Joker
Profil
byte
mezi zápisem $level + 1 a $level++ není žádný rozdíl
Ale je.

Kcko
Jak koukám na ten skript, asi to tak opravdu je- měl by se zvýšit jen parametr dalšího volání getTree a ne samotná proměnná $level.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: