Výpočet produktov(záznamov) v Tabuľke

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
SontoEremo
Člen | 341
+
0
-

VYRIEŠENÉ!!!

Zdravím…
Prosím ako vypočítať koľko produktov(záznamov) obsahuje tabuľka? pokúšal som sa niečo spraviť

Presenter:

$this->template->productCounts = $this->products_list->findAll();

View:

{foreach $productCounts as $productCount}
 <span>15 / {$productCount->related('products_list', 'id')->count('*')}</span>
{/foreach}

No môj výsledok je 15/11111111111 lenže ja potrebujem 15/11 ak sa pridá do db záznam tak + pridaný počet ak odstráni tak – zmazaný počet

Viem, že sa to riešilo aj som to skúšal no nejak sa mi to nepodarilo rozchodiť alebo isto iste som niekde robil chybu.

ďakujem vopred za pomoc.

Editoval SontoEremo (11. 5. 2013 15:34)

thunderbuff
Člen | 164
+
0
-

SontoEremo napsal(a):
No môj výsledok je 15/11111111111 lenže ja potrebujem 15/11 …

Je to napsané velmi zmateně, co přesně myslíš tímhle?

SontoEremo
Člen | 341
+
0
-

No mám
15 ← počet kategórii stým nič nerobím to natvrdo píšem do šablóny
/11 ← počet produktov v tabuľke plus ak pridám ďaľšie tak sa pripočíjú napr. 15/12, 15/13 atď
a keď sa produkt zmaže z tabuľky tak sa proste odmínusuje počet zmazaních producktov napr. 15/11, 15/10 atď…

Ja len chcem dosiahnuť aby výsledok nebol 15/11111111111 ← (čo predstavuje koľko riadkov je v tabuľke)
Ale potrebuje dosiahnuť výsledok 15/11 ← (čo zas predstavuje koľko záznamov resp. produktov sa nachádza v tabuľke)

Hádam som to už teraz napísal zrozumiteľnejšie :)

thunderbuff
Člen | 164
+
0
-

A ještě doplňující dotaz: Jaký je rozdíl mezi „koľko riadkov je v tabuľke“ a „koľko záznamov resp. produktov sa nachádza v tabuľke“? Přijde mi to jako to samé. Nebo to znamená, že tabulka obsahuje více řádek pro jeden produkt? V takovém případě by mělo fungovat něco takového:

<?php

$productCount->related('products_list', 'id')->count('DISTINCT(product_id)')

?>

Editoval thunderbuff (11. 5. 2013 11:49)

SontoEremo
Člen | 341
+
0
-

thunderbuff napsal(a):

A ještě doplňující dotaz: Jaký je rozdíl mezi „koľko riadkov je v tabuľke“ a „koľko záznamov resp. produktov sa nachádza v tabuľke“? Přijde mi to jako to samé. Nebo to znamená, že tabulka obsahuje více řádek pro jeden produkt? V takovém případě by mělo fungovat něco takového:

<?php

$productCount->related('products_list', 'id')->count('DISTINCT(product_id)')

?>

To je to isté čo som použil ja stále je výsledok 15/11111111111
Tu je aj screen

SontoEremo
Člen | 341
+
0
-

Tak som sa ešte o niečo pokúšal konkrétne
Presenter

$this->template->productCounts = $this->products_list->findAll();

Šablóna

 15/ {foreach $productCounts as $productCount => $TotalProducts}
{$TotalProducts->related('products_list', 'id')->count('DISTINCT(id)') * $productCount}
{/foreach}

Teraz je výsledok 15/1 2 3 4 5 6 7 8 9 10 11 ← (Id produktov)
Ako to skopčiť aby výsledok už konečne bol 15/11 ← (Celkový počet produktov v tabuľke ‚products_list‘)

thunderbuff
Člen | 164
+
0
-

Ty v tom foreachi vypisuješ několikrát dokola správný výsledek – tedy 11. Není to trochu nesmysl? Potřebuješ přece dostat jen jedno číslo.

Pokud chceš zjistit počet produktů odpovídající dané kategorii, zkus toto:

<?php

$this->template->pocet = $products_list->where('id', $pole_Obsahujici_Id_Tvych_Produktu)->count('id');

?>

a pak v šabloně vypiš jen 15/{$pocet}

SontoEremo
Člen | 341
+
0
-

thunderbuff ďakujem veľmi pekne to je presne ono :)
Ja som si myslel, že ak mám v presenteri

$this->template->nieco = '';

Tak to vždy v Šablóne musím identifikovať

{foreach $nieco as $volaco}
{/foreach}

Som nevedel, že postačí len {$nieco} bez foreach ale už teraz budem o niečo múdrejší ešte raz ďakujem.