Matematické operácie v latte resp nejaký workaround

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

Ahojte,
Snažím sa vytvoriť určitú štatistiku odkiaľ sa užívateľia hlásia na stránku.

Napísal som si jednoduchý SQL dotaz na spočítanie koľko užívateľov je z akej krajiny:

return $this->db->query("SELECT COUNT(*) as number, language FROM users GROUP BY language ORDER BY COUNT(language) DESC LIMIT 10");

A následne to vypisujem v latte systémom

						<div n:foreach="$languages as $language" class="verticalChart">

							<div class="singleBar">

								<div class="bar">

									<div class="value">
										<span>{$language->number}%</span>
									</div>

								</div>

								<div class="title">{$language->language}</div>

							</div>

Potreboval by som to ale urobiť % , v latte už mám hodnotu celkového počtu užívateľov a teda to potrebujem len prepočítať.

Moja otázka teda znie ako sa robia matematické operácie v latte resp ako to môžem inak spraviť?

Vďaka za každú radu

Andurit
Člen | 131
+
0
-

Asi som slepý no nenašiel som v tvojom linku nič čo by mi pomohlo. Našiel by si si čas napísať nejaký priklad?

Mysteria
Člen | 797
+
+1
-

Pokud potřebuješ jenom procenta, tak bych to řešil přímo úpravou dotazu:

return $this->db->query("SELECT ROUND((COUNT(*) / (SELECT COUNT(*) FROM language) * 100), 1) as number, language FROM users GROUP BY language ORDER BY COUNT(language) DESC LIMIT 10");
Mysteria
Člen | 797
+
0
-
<span>{$language->number / $totalUsersCount * 100}%</span>
David Matějka
Moderator | 6445
+
0
-

Nebo si napis filtr

Andurit
Člen | 131
+
0
-

Super, ďakujem ti :)
Presne toto som potreboval + THUMB up za koment vyššie