Zdravím, potřeboval bych radu, našel jsem rekurzivní funkci pro výpočet celkového počtu pod vybraným rodičem(záznam z které jdou další záznamy) záznamů, problém je v tom že z této funkce dostanu pouze počet následných levelů (urovní chceteli), ale v případě že jeden level obsahuje daší záznamy nevím jak přimět funkci a aby je vypsala.
Příklad tabulky. levý atribut - ID_A , pravý atribut - ID_U
ID_A - id nově registrovaného uživatele | ID_U - id uživatele který přivedl nové uživatele
řádek #1 | 10 | | 9 |
řádek #2 | 11 | | 9 |
řádek #3 | 12 | | 11 |
řádek #4 | 13 | | 11 |
řádek #5 | 14 | | 12 |
V případě že se díky uživately s ID 9 někdo registruje přičítá se to k jeho indexu, v případě že se někdo registruje pod uživatelem 11 kterého pozval uživatel 9, uživatel 9 taktéž se přičte k jeho indexu. Vzhledem k tabulce by měl vyjít celkový součet řádků tzv.index = 5 protože uživatel s ID 9 pozval uživatele s ID 10 a 11 ty dále pozvali uživatele s ID 12,13 a 14.
function getTree($rodic, $level)
{
$result = mysql_query('SELECT * FROM tblaffil WHERE ID_U='.$rodic);
while ($row = mysql_fetch_assoc($result))
{
echo str_repeat(" ",$level).$row['ID_A']."<br />";//provede vypis ale ja potrebuju provest scitani zaznamu ale jak pak na return?
getTree($row['ID_A'], $level++);
}
}
Dokáže někdo obohatit tuhle konstrukci tak, aby vracela celkový počet záznamů?