Autor Zpráva
slon_cz
Profil
Dobrý den, nevím si rady s následujícím problémem:

Mám tabulku "prodej", kde mám sloupečky jako datum(timestamp), pocet(mnozstvi v cisle), id(unikatni id)
s tím, že je tam více záznamů pro každý měsíc, většinou každý den a potřeboval bych vytáhnout měsíc, ve kterém byl součet "pocet" nejvetsi, zaroven vytahnout i naopak nejmensi. Bohužel výsledky na google mi sice něco vypíšou, ovšem to mi v 90% vypsalo něco jiného nebo to nefungovalo.
anonym_
Profil *
slon_cz:
Co konkrétně jsi zkoušel a nefungovalo? Hledáš tři základní a poměrně intuitivní funkce, max, min, sum.
Vladik.B
Profil
Dobrej, resim neco podobneho. Nechci zacinat nove tema a dlouho hledat.
Mám také tabulku "transakce" kde mám sloupečky jako user_id, datum, nazev, castka, urok.Pomocí mysqli_query($db_spojeni, "SELECT * FROM transakce WHERE user_id = $user_id ORDER BY datum DESC") vytvořím tabulku ve které se mi vše zobrazí i vypočítá tabulka s výnosem za počet dní od data vložení částky. Tyto výnosy bych potřeboval sečíst. Pak i přičíst k celkové částce.

Celková částka se mi podařila:
$vysledek = $spojeni-> query ("SELECT SUM(castka) FROM transakce ;");
     
     while ($radek = $vysledek->fetch_row() ){
           
            echo  "<b>".$radek [ 0 ]." Kč</b><br\>";
        }
        $vysledek->free();
        $spojeni->close();

Ale jak sečíst ty vypočítané výnosy si nevím rady. Nejsou totiž v databázi, a vždy se mi vypisují vedle sebe nebo vypisuji chybu.
Zkoušel jsem například:
 $a = array($vynos);
        print_r(array_sum($a));
Firibix
Profil
Reakce na Vladik.B:
Prostě ty vypočítané výnosy přičítej při průchodu tabulkou:

$sumVynos = 0;

while ($radek = $vysledek->fetch_row()) {
    // ...
    echo '<td>'.$radek['castka'].'</td>';
    // ...
    $vynos = // výpočet výnosu
    echo '<td>'.$vynos.'</td>';
    // ...
    $sumVynos += $vynos;
}

echo 'Celkový výnos: '.$sumVynos;
Vladik.B
Profil
Firibix:
Děkuji moc, opravdu to funguje na první pohled, jsem si myslel, že je to to samé, co už mám spočítané, ale jak jsem to zakomponoval a rozchodil, tak to dělá přesně co potřebuji. Úžasný Mám to nějak takhle:
$sumVynos = 1600
while ($radek = mysqli_fetch_array($objekt_vysledku)    ) {
    // ...
    echo "<td>".$radek['castka']."</td><br>";
    $sumak= $radek['castka'];
    $petcelichdva = $sumak / 100 * $radek['urok'];
$zarok = $petcelichdva/365 * 1;
$vynos = $zarok;
    
    echo 'mm<td>'.$vynos.'</td>';
    // ...
    $sumVynos += $vynos;
}
 
echo 'Celkový výnos: '.$sumVynos;          
a zobrazí se:
300
mm0.041095890410959300
mm16.438356164384300
mm0.041095890410959300
mm0.041095890410959300
mm0.041095890410959Celkový výnos: 1616.602739726

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0