Statistiek weergave en berekening
Wat ik eigenlijk wil is van alle informatie die ik heb in een tabel, bijvoorbeeld:
- Supermarkt 1 - 2 meldingen
- Supermarkt 2 - 8 meldingen
- Supermarkt 3 - 10 meldingen
deze informatie in percentages uitrekenen en die doorsturen naar een een grafisch minibalk (zoals deze in poll statistieken te zien is.
Waarbij natuurlijk het langste balkje de meeste meldingen representateren.
De data heb ik al in een $result_array staan.
Dus alles na dat punt is voor mij nog wazig.
- Supermarkt 1 - 2 meldingen
- Supermarkt 2 - 8 meldingen
- Supermarkt 3 - 10 meldingen
deze informatie in percentages uitrekenen en die doorsturen naar een een grafisch minibalk (zoals deze in poll statistieken te zien is.
Waarbij natuurlijk het langste balkje de meeste meldingen representateren.
De data heb ik al in een $result_array staan.
Dus alles na dat punt is voor mij nog wazig.
Gewijzigd op 20/07/2010 10:58:14 door Www JdeRuijterNL
Je zult het totaal aantal meldingen nog even uit moeten rekenen, bijvoorbeeld in een query met SUM() over alle records. Vervolgens kun je dan eenvoudig de percentages uitrekenen:
En vervolgens het balkje tonen met behulp van bijvoorbeeld CSS: een width in percentages...
Edit: voorbeeldje:
En vervolgens het balkje tonen met behulp van bijvoorbeeld CSS: een width in percentages...
Edit: voorbeeldje:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$aantal_meldingen = 200;
$totaal_meldingen = 250;
$percentage = round($aantal_meldingen / $totaal_meldingen * 100);
?>
<html>
<head>
<style type="text/css">
.outer_box {
width: 500px;
height: 50px;
border: 1px solid black;
}
.inner_box {
width: <?php echo $percentage; ?>%;
height: 100%;
background-color: yellow;
}
</style>
</head>
<body>
<div class="outer_box">
<div class="inner_box"></div>
</div>
</body>
</html>
$aantal_meldingen = 200;
$totaal_meldingen = 250;
$percentage = round($aantal_meldingen / $totaal_meldingen * 100);
?>
<html>
<head>
<style type="text/css">
.outer_box {
width: 500px;
height: 50px;
border: 1px solid black;
}
.inner_box {
width: <?php echo $percentage; ?>%;
height: 100%;
background-color: yellow;
}
</style>
</head>
<body>
<div class="outer_box">
<div class="inner_box"></div>
</div>
</body>
</html>
Gewijzigd op 20/07/2010 11:10:12 door Joren de Wit
Dank voor uw inzicht, ik ga hier mee aan de slag.
Perfecte resultaat.
Alleen vanwege de foreach($result as $object);
endforeach;
Heb ik de CSS boven aan de code gezet en niet in de head, omdat ik alles na de head niet vermenigvuldigd wil hebben na alle inhoud.
Perfecte resultaat.
Alleen vanwege de foreach($result as $object);
endforeach;
Heb ik de CSS boven aan de code gezet en niet in de head, omdat ik alles na de head niet vermenigvuldigd wil hebben na alle inhoud.
Gewijzigd op 20/07/2010 14:31:51 door www JdeRuijterNL
Ok, de oplossing op de manier waarop ik het heb gedaan geeft natuurlijk een validatie fout omdat ik het CSS bestand niet op de juiste positie heb. (binnen de head) logisch natuurlijk.
Hoe zou je een foreach bovenaan de pagina:
door kunnen laten gaan in het midden van de pagina:
UPDATE:
LAat maar, ik heb er een inline style van gemaakt.
Hoe zou je een foreach bovenaan de pagina:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
$all_supermarkt = Vers_get::find_all_supermarkt();
foreach($all_supermarkt as $object_super):
$supermarkt_sum = Vers_get::sum_per_topic($object_super->supermarkt);
$supermarkt_count = Vers_get::count_all();
$percentage = round($supermarkt_sum / $supermarkt_count, 2) * 100;
endforeach;
foreach($all_supermarkt as $object_super):
$supermarkt_sum = Vers_get::sum_per_topic($object_super->supermarkt);
$supermarkt_count = Vers_get::count_all();
$percentage = round($supermarkt_sum / $supermarkt_count, 2) * 100;
endforeach;
door kunnen laten gaan in het midden van de pagina:
Code (php)
UPDATE:
LAat maar, ik heb er een inline style van gemaakt.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<p style="background:#eb6;
border:1px solid #fff;
color:#fff;
font-weight:bold;
height:18px;
padding:3px;
width:<?php echo $percentage; ?>%;"><?=$percentage;?>%</p>
border:1px solid #fff;
color:#fff;
font-weight:bold;
height:18px;
padding:3px;
width:<?php echo $percentage; ?>%;"><?=$percentage;?>%</p>
Gewijzigd op 20/07/2010 15:19:55 door www JdeRuijterNL
Een andere oplossing was het gebruik van een array geweest: in je foreach sla je de percentages tijdelijk op in de array en als je ze nodig hebt echo je ze simpelweg vanuit die array...




