Diskuze: Automatické sčítání hodnot z pole - automatizované řešení..

PHP PHP Automatické sčítání hodnot z pole - automatizované řešení.. American English version English version

Avatar
petrula
Člen
Avatar
petrula:

Ahoj měl bych dotaz.

Jakým způsobem bych mohl spočítat hodnoty z pole od indexu nula do indexu podle čísla z url.
Dejme tomu, že pod článkem kliknu, že chci na stranu 5. V kódu tedy potřebuji univerzální řešení, jakým bych mohl sečíst hodnoty z databáze od prvního čísla do pátého čísla. Hodnoty jsou v databázi zapsány tímto způsobem:

5,15,80,97,56,2 - příklad, čísla mohou být jakákoli.

pomocí funkce explode poté v php nastavím, že to je pole a hodnoty jsou odděleny čárkou.

Když tedy jsem na straně 5, potřebuji sečíst čísla z pole od indexu 0 do indexu 4... Tzn. výsledek by měl být 5+15+80+97+56 = 253
Když budu na straně 6 tak je výsledek 255...

Vím jak sečíst všechny hodnoty, ale potřeboval bych to sčítat pouze hodnoty od prvního indexu do požadovaného indexu... Díky moc za rady.

 
Odpovědět 5. srpna 12:01
Avatar
Odpovídá na petrula
Martin Konečný (pavelco1998):

ahoj, jestli ta čísla máš v DB takhle v jednom záznamu oddělena čárkou (proč?), tak by mělo stačit něco takovýho

$index = !empty($_GET["index"]) ? (int) $_GET["index"] : 0;
$numbersRow = fetchField("SELECT numbers FROM table LIMIT 1");  // nějaká tvoje funkce, která to z DB vytáhne

$numbers = explode(",", $numbersRow);

$sum = 0;
for ($i = 0; $i < $index; $i++) {
        if (isset($numbers[$i])) {  // aby náhodou index nebyl vyšší než nejvyšší možný
                $sum += $numbers[$i];
        }
}

echo $sum;
Editováno 5. srpna 12:08
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 5. srpna 12:07
Avatar
Odpovídá na petrula
Martin Konečný (pavelco1998):

Jasně že pomohlo, přece tu nebudu psát blbosti :D

 
Nahoru Odpovědět 5. srpna 23:28
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.