Avatar billede freakazoid18 Nybegynder
29. september 2003 - 13:46 Der er 23 kommentarer og
1 løsning

Procent regning.

Heya der..

Jeg har en side hvor jeg har listet en række kampe, og ovenfor på denne side vil jeg godt ha en form for stats module, dvs kampe vundet = antal Kampe tabt = antal Kampe uafgjort = antal.... Jeg har oprettet i min sql db et felt under "matches" som hedder result og har giver hver kamp henhold vis 1-2-3 som er delt op på følgende måde

Vundet = 1
Tabt = 2
Uafgjort = 3
Det jeg nu vil have er sådan en status table hvori der står
Vundet = 23
Tabt = 4
Uafgjort = 5

Og neden for det skal der være det samme bare i procent...

Håber det er til at lave har noget kode her

:KODE:

<table align="center" cellspacing="0" width="400" cellpadding="0" border="0" style="FONT-SIZE: 8pt">
<tr>
<td align="center" style="FONT-SIZE: 8pt"> <table align="center" style="FONT-SIZE: 8pt">
<tr>
          <td width="24" align="left" style="FONT-SIZE: 8pt"><font color="#C98442">&nbsp;</font></td>
          <td width="94" align="left" style="FONT-SIZE: 8pt"><font color="#C98442">Clan:</font></td>
          <td width="100" align="left" style="FONT-SIZE: 8pt"><font color="#C98442">Type:</font></td>
          <td width="78" align="left" style="FONT-SIZE: 8pt"><font color="#C98442">Result:</font></td>
          <td width="80" align="left" style="FONT-SIZE: 8pt"><font color="#C98442">Details:</font></td>
</tr>
</table>

 
  <?php
$hent = @mysql_query("SELECT * FROM matches order by id DESC");
while ($vis = @mysql_fetch_array($hent)) {
$medlemid = $vis['id'];
$clannavn = $vis['clan'];
$flag = $vis['country'];
$medlemlink = "<a href=\"match_detail.php?id=$medlemid\">details</a>";
$league = $vis['league'];
$score = $vis['score'];
?>

    <table align=center style="FONT-SIZE: 8pt">
<tr>
<td width="23" align="left">    <?
        echo "<a href='match_detail.php?id=$id";
        echo $medlemid;
        echo "'><img src='images/flags/";
        echo $flag;
        echo ".gif' border=0></a>";
        ?></td>
<td width="95" align="left"><?php echo $clannavn; ?></td>
<td width="101" align="left"><?php echo $league; ?></td>
    <td width="76" align="left"><?php
$score_array = explode('-',$score);
if ($score_array[1] > $score_array[0]) {
    $color = 'red';
} elseif ($score_array[1] < $score_array[0]) {
    $color = '#33cc00';
} else {
    $color = 'blue';
}
?><font size="1" color="<?php echo $color; ?>"><?php echo $score; ?></td>
<td width="81" align="left"><?php echo $medlemlink; ?></td>
</tr></table>

 
  <?php
}
?>
  </tr></table>

:KODE SLUT:
Avatar billede nmh Nybegynder
29. september 2003 - 13:51 #1
Er det procentregningen, der giver dig problemer eller er det at kode omregning til procent?
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 13:54 #2
det er kode... :(
Avatar billede anhansen Nybegynder
29. september 2003 - 14:04 #3
Hvis du har hevet det ud af db, dvs du har de tre tal. Lad os sige de er gemt i følgende variabler:
$vundet = x;
$tabt = y;
$uafgjort = z;

Så laver vi en variabel til at tælle kampe ialt:
$ialt = $vundet + $tabt + $uafgjort;

Der hvor det skal sættes ind i procent skriver du så bare:
<?php echo $vundet/$ialt; ?>
osv...
Var det det svar du ledte efter?
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 14:12 #4
nej ikk helt...
jeg har en tabel Kaldet "matches"
under den har jeg jo så en masse felter med modstander, mål, osv osv osv... til sidst har jeg så et felt som hedder "result" idet felt skriver jeg 1-2-3 alt efter hvad kampen er endt... dvs hvis en kamp er vunder smider jeg et 1tal ind i... det på den måde det skal regnes ud :P
Avatar billede anhansen Nybegynder
29. september 2003 - 14:22 #5
$hent = @mysql_query("SELECT result FROM matches");
while ($vis = @mysql_fetch_array($hent)) {
Avatar billede anhansen Nybegynder
29. september 2003 - 14:22 #6
ups
blev ikke færdig... keyboard knas...
Avatar billede anhansen Nybegynder
29. september 2003 - 14:24 #7
$hent = @mysql_query("SELECT result FROM matches");
while ($vis = @mysql_fetch_array($hent)) {
$res = $vis['result'];
if($res ==1)
$vundet++;
else if($res ==2)
$uafgjort++;
else if($res ==3)
$tabt++;

noget ala det?
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 14:24 #8
haha :D
Avatar billede anhansen Nybegynder
29. september 2003 - 14:24 #9
med tabt og uafgjort bytte om...
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 14:25 #10
ja det kunne det godt tyde på... men hvordan vil du så skrive det om til procent og antal vundne kampe... jeg er sq stadig lidt newbie.. :)
Avatar billede anhansen Nybegynder
29. september 2003 - 14:27 #11
antal vundne kampe ligger i $vundet.
Til procent som jeg skrev i 29/09-2003 14:04:44, finde antal kampe ialt, og så dividere.
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 14:34 #12
<?php
$hent = @mysql_query("SELECT result FROM matches");
while ($vis = @mysql_fetch_array($hent)) {
$res = $vis['result'];
if($res ==1)
$vundet++;
else if($res ==2)
$tabt++;
else if($res ==3)
$uafgjort++;
?>
<?php echo $vundet?>

nu skriver den bare en lang række tal :D
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 14:34 #13
1 1 2 2 3 3 3 4 4 4 4 4 4 5 6 6 7 7 7 8
Avatar billede anhansen Nybegynder
29. september 2003 - 14:38 #14
det er fordi du har din echo med inde i while løkken...
Prøv den her:
<?php
$hent = @mysql_query("SELECT result FROM matches");
while ($vis = @mysql_fetch_array($hent)) {
$res = $vis['result'];
if($res ==1)
$vundet++;
else if($res ==2)
$tabt++;
else if($res ==3)
$uafgjort++;}
?>
<?php echo $vundet?>
Avatar billede anhansen Nybegynder
29. september 2003 - 14:38 #15
Der er 8 vundne kampe... du skriver den bare ud for hver gang du undersøger et resultat... ;-)
Avatar billede anhansen Nybegynder
29. september 2003 - 14:39 #16
Manglede slut tuborg }
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 14:43 #17
oki nu spiller det.. :P

men asso hvis jeg laver en

<?php echo $vundet/$ialt; ?>
får jeg dette... som også er rigtig nok men kan man ikk få den til at skrive 36% i stedet for.... ?
0.36363636363636
Avatar billede anhansen Nybegynder
29. september 2003 - 14:45 #18
jo... tænk lidt over det... ;-)

hvordan vil du få noget 100 gange større og med et ekstra tegn bagved.. ;-)
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 14:45 #19
gange med 100 :D
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 14:46 #20
men asso... jeg er ikk den onde guru
Avatar billede anhansen Nybegynder
29. september 2003 - 14:47 #21
for at fjerne det efter kommaet bruger du round().

Så det bliver
echo round(($vundet/$ialt)*100) . "%";
Avatar billede anhansen Nybegynder
29. september 2003 - 14:48 #22
Det er fint du spørger... Man bliver ikke klogere ved at nikke... ;-)
Avatar billede freakazoid18 Nybegynder
29. september 2003 - 14:51 #23
haha :D thx mate
Avatar billede anhansen Nybegynder
29. september 2003 - 14:54 #24
skulle det være en anden gang... ;-)
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