Avatar billede mikze Nybegynder
01. juli 2004 - 17:58 Der er 15 kommentarer og
1 løsning

kliks eller sådan noget til procent?

Hejsa..

jeg har lavet et script til afstemning. MySQL tabellen ser sådan ud:

id      //Id
ejer    //Brugeren som ejer afstemningen
spm    //Selve spørgesmålet til afstemningen
svar1  //Et svar
svar2  //Et svar
svar3  //Et svar
svar4  //Et svar
svar5  //Et svar
svar6  //Et svar
svar7  //Et svar
svar8  //Et svar
svar9  //Et svar
svar10  //Et svar
klik1  //Antalk kliks for svaret
klik2  //Antalk kliks for svaret
klik3  //Antalk kliks for svaret
klik4  //Antalk kliks for svaret
klik5  //Antalk kliks for svaret
klik6  //Antalk kliks for svaret
klik7  //Antalk kliks for svaret
klik8  //Antalk kliks for svaret
klik9  //Antalk kliks for svaret
klik10  //Antalk kliks for svaret




Men når jeg så får antal klik i KLIK felterne hvordan for jeg det så omregnet til % og får det lavet til grafik? Altså sådan nogle LÆNGDE grafik..
Avatar billede jaw Nybegynder
01. juli 2004 - 18:03 #1
Det må være noget a'la:

Hvis vi siger man kan svare ja og nej:

$ja_procent = Ja_svar / antal_klik * 100;

Hvis du så laver to billeder: 1 for ja og 1 for nej. Så kan ja billedet have width: $ja_procent og 100 - $ja_procent vil så være width på den anden.

Tåger jeg, eller er det forståeligt? :)
Avatar billede jaw Nybegynder
01. juli 2004 - 18:03 #2
Du kan også bruge GDlib til at lave billedet med, men det er jeg ikke sååå stærk i
Avatar billede mikze Nybegynder
01. juli 2004 - 19:38 #3
Jeg tror du tåger :D Eller begge dele.. Forstår det ikke heeelt :)

Men næsten :D  (tror jeg) *G*
Avatar billede roenving Novice
01. juli 2004 - 19:40 #4
Avatar billede roenving Novice
01. juli 2004 - 19:41 #5
-- det er godt nok ren javascript, men du kan jo 'bare' oversætte koden til php !-)
Avatar billede mikze Nybegynder
01. juli 2004 - 19:48 #6
Høhø... Det er du jo velkommen til roenving :-)

roenving... Prøv med disse smileys:

:D
:)
:P
;)
;D
=)
=D
=/

Syntes selv de er lidt sejere end !-) og ?-) :D:D:D
Avatar billede sostack Nybegynder
02. juli 2004 - 10:32 #7
Du skal lægge klik for alle svar sammen == (100%)
for hvert svar skal du så dividere antallet af klik for svaret med totalen og gange med 100.
klik1  = 1
klik2  = 2
klik3  = 3
klik4  = 4
klik5  = 5
klik6  = 6
klik7  = 7
klik8  = 8
klik9  = 9
klik10 = 10
total = 55

klik6% = (6 / 55) * 100 = 10,9090909090 %

//sostack
Avatar billede mikze Nybegynder
02. juli 2004 - 11:27 #8
Hehe :)

Jamen hvad for jeg ud af det?
Jeg skal jo finde antal procent for HVER eneste man kan klikke på. Det er jo SVAR..
Altså antal klik for svar1 osv.

og så skal jeg have lavet en grafikbar for alle 10 man kan stemme på :)
Avatar billede jaw Nybegynder
02. juli 2004 - 14:21 #9
antal_spørgsmål1_ja_mulighed / antal_svar_på_spørgsmål1 * 100
antal_spørgsmål1_nej_mulighed / antal_svar_på_spørgsmål1 * 100

antal_spørgsmål2_ja_mulighed / antal_svar_på_spørgsmål2 * 100
antal_spørgsmål2_nej_mulighed / antal_svar_på_spørgsmål2 * 100

Og det jeg så prøvede at fortælle dig var, at du kan direkte oversætte de 2 tal til bredder... Hvis du siger at den samlede width på 100 pixels, så kan bredden af ja i % være farve rød (billede i højde x 1 px) og nej være farve blå.

Jeg har selv brugt det her: http://www.tele2gaming.dk/rate.php?page=liste&id=121 som en midlertidig løsning hvis det giver dig en bedre forståelse...?!
Avatar billede sostack Nybegynder
02. juli 2004 - 14:50 #10
Hmm, er det ikke noget i denne retning du mener??:
<?php
$klik  = array(12,32,13,44,15,66,37,81,93,10);
$farve = array("FF0000", "FFFF00", "00FFFF", "0000FF", "00FF00", "FFF000", "FF0F8F", "000FFF", "FF00FF", "0FFF00");
foreach($klik as $vaerdi)
{
    $sum += $vaerdi;
}
echo "<center>\n<table cols='2' border='0' width='250'>\n";
for($i = 0; $i < count($klik) - 1; $i++)
{
    echo "<tr>\n<td width='200' align='left'>\n<hr color='" . $farve[$i] . "' size='5' width='" . floor(($klik[$i] / $sum) * 500) . "'>\n</td>\n<td align='right'>\n" . number_format(($klik[$i] / $sum) * 100, 2) . "%\n</td>\n</tr>\n";
}
echo "</table>\n</center>";
?>

//sostack
Avatar billede sostack Nybegynder
02. juli 2004 - 14:53 #11
for($i = 0; $i < count($klik) - 1; $i++) skal være:
for($i = 0; $i < count($klik); $i++)
Avatar billede mikze Nybegynder
02. juli 2004 - 17:11 #12
Hmm.

Det vil altså sige:

<?
include "db.php";

$query = mysql_query("SELECT * FROM afstemninger WHERE brugernavn='$_GET[brugernavn]'") or die(mysql_error());
$row = mysql_fetch_array($query);

$result1 = $row[klik1] / 10 * 100;
$result2 = $row[klik2] / 10 * 100;
$result3 = $row[klik3] / 10 * 100;
$result4 = $row[klik4] / 10 * 100;
$result5 = $row[klik5] / 10 * 100;
$result6 = $row[klik6] / 10 * 100;
$result7 = $row[klik7] / 10 * 100;
$result8 = $row[klik8] / 10 * 100;
$result9 = $row[klik9] / 10 * 100;
$result10 = $row[klik10] / 10 * 100;
?>

<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result1?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result2?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result3?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result4?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result5?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result6?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result7?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result8?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result9?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result10?>%"></td>
</tr>
</table>




Kan man ikke gøre sådan så?
Avatar billede mikze Nybegynder
02. juli 2004 - 18:35 #13
Hmm.

Det vil altså sige:

<?
include "db.php";

$query = mysql_query("SELECT * FROM afstemninger WHERE brugernavn='$_GET[brugernavn]'") or die(mysql_error());
$row = mysql_fetch_array($query);
$ialt = $row[klik1] + $row[klik2] + $row[klik3] + $row[klik4] + $row[klik5] + $row[klik6] + $row[klik7] + $row[klik8] + $row[klik9] + $row[klik10];

$result1 = $row[klik1] / $ialt * 100;
$result2 = $row[klik2] / $ialt * 100;
$result3 = $row[klik3] / $ialt * 100;
$result4 = $row[klik4] / $ialt * 100;
$result5 = $row[klik5] / $ialt * 100;
$result6 = $row[klik6] / $ialt * 100;
$result7 = $row[klik7] / $ialt * 100;
$result8 = $row[klik8] / $ialt * 100;
$result9 = $row[klik9] / $ialt * 100;
$result10 = $row[klik10] / $ialt * 100;
?>

<table width="100%" cellspacing="0" cellpadding="0" border="0">
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result1?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result2?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result3?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result4?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result5?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result6?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result7?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result8?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result9?>%"></td>
</tr>
<tr>
  <td width="100%"><img src="grafikken" width="<?=$result10?>%"></td>
</tr>
</table>


Sådan evt.?
Avatar billede mikze Nybegynder
04. juli 2004 - 11:47 #14
A bladder bladder?
Avatar billede sostack Nybegynder
05. juli 2004 - 07:15 #15
Jo, noget i den retning. Jeg har ikke lige checket for fejl!

//sostack
Avatar billede mikze Nybegynder
26. juli 2004 - 19:03 #16
Ja fandt selv ud af :-)
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