Avatar billede cmau Nybegynder
14. oktober 2004 - 17:35 Der er 21 kommentarer og
1 løsning

fejl i procent!

hey nedenstående kode skulle gerne udskrive hvor mange % af alle brugeres points, drengene ejer og hvor mange % pigerne ejer, men den skriver tal over 100.. :(

<?
include('sql.php');
$query = mysql_query("SELECT SUM(point) AS total_points FROM brugere") or die(mysql_error());
$queryD = mysql_query("SELECT SUM(point) AS total_pointsD FROM brugere WHERE sex='D'") or die(mysql_error());
$queryP = mysql_query("SELECT SUM(point) AS total_pointsP FROM brugere WHERE sex='P'") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
while ($rowD = mysql_fetch_array($queryD)) {
while ($rowP = mysql_fetch_array($queryP)) {
$procent_points_drenge = $row[total_points]/$rowD[total_pointsD]*100;
$procent_points_piger = $row[total_points]/$rowP[total_pointsP]*100;

echo "$procent_points_drenge<br>$procent_points_piger";

}
}
}
?>

Nogle der kan finde fejlen? og måske gøre koden lidt mindre ? ;D
Avatar billede Slettet bruger
14. oktober 2004 - 17:47 #1
<?
include('sql.php');
$query = mysql_query("SELECT SUM(point) AS total_points, sex FROM brugere GROUP BY sex") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
  if($row['sex']=='D') $total_pointsD=$row['total_points'];
  if($row['sex']=='P') $total_pointsP=$row['total_points'];
}
$total_points=$total_pointsD+$total_pointsP;
$procent_points_drenge = $total_points/$total_pointsD*100;
$procent_points_piger = $total_points/$total_pointsP*100;

echo "$procent_points_drenge<br>$procent_points_piger";

?>
Avatar billede hmortensen Nybegynder
14. oktober 2004 - 17:48 #2
<?php
include('sql.php');
$ialt =  mysql_result(mysql_query("SELECT SUM(point) AS total_points FROM brugere"), 0);
$dreng = mysql_result(mysql_query("SELECT SUM(point) AS total_pointsD FROM brugere WHERE sex='D'"), 0);
$pige = $ialt - $dreng;
$procent_points_drenge = ($ialt / $dreng) * 100;
$procent_points_piger = ($ialt / ($ialt-$dreng)) * 100;

echo $procent_points_drenge."<br>".$procent_points_piger;
?>
Avatar billede hmortensen Nybegynder
14. oktober 2004 - 17:49 #3
Bare se bort fra min...
Avatar billede Slettet bruger
14. oktober 2004 - 17:52 #4
hindu_skp: Hvorfor, hvis han nu bedre kan lide den? Så vidt jeg kan se, vil den virke lige så godt som min. (Jeg ville dog nok have valgt at bruge $pige-variablen i stedet for at regne det ud igen ;-)
Avatar billede cmau Nybegynder
14. oktober 2004 - 17:53 #5
sandbox -> den udskriver dettet: http://cmau.woox.dk/s.php .. det er jo lidt mærkeligt at pigerne har over 1300 % og drengene 109 % :/ der må være en anden fejl.. fordi det din kode skriver, skrev min kode også..
Avatar billede hmortensen Nybegynder
14. oktober 2004 - 17:55 #6
Var også en fejl, den først udregning skulle væk, og shhh ;)
Avatar billede cmau Nybegynder
14. oktober 2004 - 17:56 #7
jeg tror det er fordi noget af det skal måske gøres med mere info, til server. fordi engang kunne man så bare skrive $tekst også gå ind ?tekst=hej så stod der hej på siden, men nu skal man skrive $_GET[tekst].. måske skal udregningen også gøres på en måde, med mere info..
Avatar billede Slettet bruger
14. oktober 2004 - 17:57 #8
Vi regner den forkerte vej, det er det, der er galt:

$procent_points_drenge = $total_pointsD/$total_points*100;
$procent_points_piger = $total_pointsP/$total_points*100;
Avatar billede cmau Nybegynder
14. oktober 2004 - 17:58 #9
hehe ja det var sådan :) smider di ikke et svar sandbox..?
Avatar billede Slettet bruger
14. oktober 2004 - 18:00 #10
Joda.

Sjovt, at vi alle tre havde den samme fejl (Den var nemlig også i hindu_skps forslag, selvom det var skrevet på en anden måde.)
Avatar billede hmortensen Nybegynder
14. oktober 2004 - 18:01 #11
Arh, hader når det sket :P
Tror man glemmer at tænke når man redigerer i andres ting
Avatar billede Slettet bruger
14. oktober 2004 - 18:01 #12
Og så husker jeg lige at markere som svar ;-)
Avatar billede cmau Nybegynder
14. oktober 2004 - 18:04 #13
når jeg ksal lave udregningere så klokker jeg altid i den.. selvom jeg sidste gang jeg fik års karekter i matematik fil 11 :S
Avatar billede hmortensen Nybegynder
14. oktober 2004 - 18:05 #14
Til en anden gang hvor du sidder og koger over et regnestykke, så ta den på papir, det hjælper somregel
Avatar billede Slettet bruger
14. oktober 2004 - 18:07 #15
Jeg fik nu også 11 i årskarakter i matematik sidste gang - men det er godt nok længe siden.
Avatar billede cmau Nybegynder
14. oktober 2004 - 18:09 #16
;).. okay ... jeg synes der er nok statistikker på min side nu :D .. http://cmau.woox.dk
Avatar billede cmau Nybegynder
14. oktober 2004 - 18:11 #17
hehe jeg går kun i 9. ;) i folkeskolen
Avatar billede Slettet bruger
14. oktober 2004 - 18:16 #18
Jeg kan slet ikke oprette en bruger på den side - i det mindste ikke uden at lyve ;-)
Avatar billede cmau Nybegynder
14. oktober 2004 - 18:23 #19
det forstod jeg ikke lige.. hvis du prøver at oprette hvad skriver den så?
Avatar billede hmortensen Nybegynder
14. oktober 2004 - 18:29 #20
Måske han er for gammel ;)
Avatar billede Slettet bruger
14. oktober 2004 - 18:30 #21
Netop. Jeg er over 30.
Avatar billede cmau Nybegynder
14. oktober 2004 - 18:32 #22
nå :D hehe
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester