Výpočet produktov(záznamov) v Tabuľke
- SontoEremo
- Člen | 341
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
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
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
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
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
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
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
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.