Hej, jag håller på att pilla med en personlig ekonomisida, bara för att det är kul och för att lära mig lite.
Men har en fundering. Om ni kollar på denna bilden så ser ni vad jag har nu och vil fortsätta ha:
https://i.imgur.com/ur7xdXs.png
Varje stapel visar Utgifter/spar/kvar.
Så här ser min mysqldatabas ut:
https://i.imgur.com/BGrxmlO.png
Står det en 1a på en månad så betyder det att den räkningen kommer den månaden. Kom på efteråt att man kanske helt enkelt skulle ha skrivit i summa för varje räkning på respektive månad, då hade man kunnat ha olika summor på samma räkning beroende på månad, men men.
Hur som helst, när jag ska skapa det stapeldiagramet som syns på bild 1 så använder jag mig av liknande kod för VARJE månad:
Det känns som det blir onödigt många sökningar i databasen. Bör jag inte kunna lösa detta med en for each loop? Kollade på lite guider på nätet inatt men blev inte riktigt klok ändå.
Detta har jag skrivit än så länge:
Med denna kod får jag fram totala utgifter för november. Men hur fasiken går jag tillväga för att kolla varje månad med en kod? Det ska väl inte behövas en sådanhär kod för varje månad? Är det kanske i mysqlqueryn som man löser detta?
Tacksam för svar om det så bara är till en relevant guide.
Men har en fundering. Om ni kollar på denna bilden så ser ni vad jag har nu och vil fortsätta ha:
https://i.imgur.com/ur7xdXs.png
Varje stapel visar Utgifter/spar/kvar.
Så här ser min mysqldatabas ut:
https://i.imgur.com/BGrxmlO.png
Står det en 1a på en månad så betyder det att den räkningen kommer den månaden. Kom på efteråt att man kanske helt enkelt skulle ha skrivit i summa för varje räkning på respektive månad, då hade man kunnat ha olika summor på samma räkning beroende på månad, men men.
Hur som helst, när jag ska skapa det stapeldiagramet som syns på bild 1 så använder jag mig av liknande kod för VARJE månad:
Kod:
<?
$sparmanaddec = 0;
$query611 = "SELECT * FROM RAKNINGAR WHERE DECEMBER = 1 AND SPAR = 1"; //Hämta spar för specifik månad
$result611 = $conn->query($query611);
while($row611 = $result611->fetch_assoc())
{
$spardec = $row611["SUMMA"];
$sparmanaddec = $sparmanaddec + $spardec;
$spar = $sparmanaddec / $efterskatt;
$sparpro = $spar * 100;
$sparpro = round($sparpro, 0);
}
$query61 = "SELECT * FROM RAKNINGAR WHERE DECEMBER = '1' AND SPAR = 0"; //Hämta total för en specifik månad
$result61 = $conn->query($query61);
while($row61 = $result61->fetch_assoc())
{
$summadec = $row61['SUMMA'];
$totaldec = $totaldec + $summadec;
$prodec = $totaldec / $efterskatt;
$prodec = $prodec * 100;
$prodec = round($prodec, 2);
$kvardec = $efterskatt - $totaldec;
$kvardec = $kvardec - $sparmanaddec;
$kvardec = round($kvardec, 0);
$prokvardec = $kvardec / $efterskatt;
$prokvardec = $prokvardec * 100;
$prokvardec = round($prokvardec, 2);
}
echo "<div class='manadkvar' style='height:$prokvardec%;'>$kvardec</div>";
echo "<div class='manadspar' style='height:$sparpro%;'>$sparmanaddec</div>";
echo "<div class='manadut' style='height:$prodec%;'>$totaldec</div>";
?>
Det känns som det blir onödigt många sökningar i databasen. Bör jag inte kunna lösa detta med en for each loop? Kollade på lite guider på nätet inatt men blev inte riktigt klok ändå.
Detta har jag skrivit än så länge:
Kod:
<?php
$dsn = 'mysql:hosy=*;dbname=*';
$username = '*';
$password = '*';
try{
// connect to mysql
$con = new PDO($dsn,$username,$password);
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (Exception $ex) {
echo 'Not Connected '.$ex->getMessage();
}
// mysql select query
$stmt = $con->prepare('SELECT * FROM RAKNINGAR WHERE NOVEMBER = 1 AND SPAR = 0');
$stmt->execute();
$users = $stmt->fetchAll();
$total = 0;
foreach ($users as $user)
{
$total += $user['SUMMA'];
}
echo $total;
?>
Med denna kod får jag fram totala utgifter för november. Men hur fasiken går jag tillväga för att kolla varje månad med en kod? Det ska väl inte behövas en sådanhär kod för varje månad? Är det kanske i mysqlqueryn som man löser detta?
Tacksam för svar om det så bara är till en relevant guide.