Zadejte hledaný výraz...

Rekurzivní sčítání počtu záznamů

viaSolutions
verified
rating uzivatele
(1 hodnocení)
2. 12. 2013 20:35:46
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)) {
getTree($row, $level++);
}
}
Dokáže někdo obohatit tuhle konstrukci tak, aby vracela celkový počet záznamů?
2. 12. 2013 20:35:46
https://webtrh.cz/diskuse/rekurzivni-scitani-poctu-zaznamu#reply972481
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
2. 12. 2013 22:55:57
Nepomohl by ti jiný princip? Např. kategorie http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/
Z toho lze pak vše perfektně a rychle dopočítat.
2. 12. 2013 22:55:57
https://webtrh.cz/diskuse/rekurzivni-scitani-poctu-zaznamu#reply972480
viaSolutions
verified
rating uzivatele
(1 hodnocení)
3. 12. 2013 14:50:32
Po úspěšném lámání hlavy jsem na to konečně kápnul, samozřejmě se podělím o řešení :)
3. 12. 2013 14:50:32
https://webtrh.cz/diskuse/rekurzivni-scitani-poctu-zaznamu#reply972479
Petr Zachrdla
verified
rating uzivatele
(1 hodnocení)
3. 12. 2013 14:56:41
Dovolím si zdvořile upozornit, že s uvedenou fcí, se server při větším náporu zhroutí, protože dělá mnoho zbytečných dotazů do db.
3. 12. 2013 14:56:41
https://webtrh.cz/diskuse/rekurzivni-scitani-poctu-zaznamu#reply972478
viaSolutions
verified
rating uzivatele
(1 hodnocení)
3. 12. 2013 16:01:22
Pro prosté spočítání to stačí, předpokládejme že tento součet bude prováděn např o půlnoci.
3. 12. 2013 16:01:22
https://webtrh.cz/diskuse/rekurzivni-scitani-poctu-zaznamu#reply972477
Bacon
verified
rating uzivatele
(2 hodnocení)
3. 12. 2013 16:51:06
A co mít v databázi u každého uživatele políčko s počtem childů a to přepočítávat při změně (registraci nového affil. partnera například)?
3. 12. 2013 16:51:06
https://webtrh.cz/diskuse/rekurzivni-scitani-poctu-zaznamu#reply972476
Pro odpověď se přihlašte.
Přihlásit