Avatar billede n-emy Nybegynder
13. april 2004 - 23:31 Der er 6 kommentarer og
1 løsning

% Afstemning i PHP/MySQL?

Hejsa:)
Jeg vil gerne have en afstemning på min side som de har mange andre steder, det eneste jeg ik rigtigt kan finde ud af er at få den til at vise en linie hvor der står procent i...

Måden jeg har lavet det på er:
Tabellen:
afstemning_id int(255) - Afstemnings id'en
aktiv enum (ja,nej) - Om afstemningen er aktiv eller afsluttet
mulighed1 int(255) Antal votes der er i mulighed 1
mulighed2 int(255) Antal votes der er i mulighed 2

og så har jeg lavet scriptet sådan her:
if($stem == 'ja') {
if($stem1 == 'ja') {
$s_af = mysql_query("SELECT * FROM afstemning WHERE id = '$afid'");
mysql_query("UPDATE afstemning SET mening1 = mening1+1 WHERE id = $afid");
$af = mysql_fetch_array($s_af);
} elseif ($stem2 == 'ja') {
$s_af = mysql_query("SELECT * FROM afstemning WHERE id = '$afid'");
mysql_query("UPDATE afstemning SET mening2 = mening2+1 WHERE id = $afid");
} else {
}
} else {
print "
<a href=""afstemning.php?stem=ja&stem1=ja&afid=1>Stem 1</a><br>
<a href=""afstemning.php?stem=ja&stem2=ja&afid=2>Stem 2</a><br>
";
}
Avatar billede n-emy Nybegynder
13. april 2004 - 23:32 #1
id er selvfølgelig ment som afstemning_id
Avatar billede mikl-dk Nybegynder
13. april 2004 - 23:36 #2
int(255) ???
Avatar billede n-emy Nybegynder
13. april 2004 - 23:39 #3
sry
mulighed1 int(5)
mulighed2 int(5)
Avatar billede exp Juniormester
13. april 2004 - 23:39 #4
Måske du kunne hente lidt inspiration her:
http://www.udvikleren.dk/article.php?aid=115
Avatar billede mikl-dk Nybegynder
13. april 2004 - 23:45 #5
Og btw:
<a href=""afstemning.php?stem=ja&stem1=ja&afid=1>Stem 1</a><br>
<a href=""afstemning.php?stem=ja&stem2=ja&afid=2>Stem 2</a><br>

Du mener sikkert:
<a href=\"afstemning.php?stem=ja&stem1=ja&afid=1\">Stem 1</a><br>
<a href=\"afstemning.php?stem=ja&stem2=ja&afid=2\">Stem 2</a><br>
Avatar billede mikl-dk Nybegynder
13. april 2004 - 23:58 #6
Lige procentregning generelt, hvis du er i tvivl om det:

/*
  Simpelt
*/
$mulighed1 = 100; // hentes fra databasen
$mulighed2 = 300; // hentes fra databasen

$samlet = $mulighed1 + $mulighed2; // bliver så 100 + 300 = 400

$mulighed1_procent = ($mulighed1 / $samlet) * 100; // bliver så (100 / 400) * 100% = (1 / 4) * 100% = 100% / 4 = 25%
$mulighed2_procent = ($mulighed2 / $samlet) * 100; // bliver så (300 / 400) * 100% = (3 / 4) * 100% = 300% / 4 = 75%

/*
  Alternativt - og en del mere dynamisk - kan man bruge arrays til dette:
*/
// arrayet $stemmer fyldes (symboliseret på denne måde da det er optimalt at fylde det fx under et mysql-query-gennemløb
$stemmer["mulighed1"] = 400;
$stemmer["piger"] = 100;
$stemmer["drenge"] = 50;
$stemmer["mulighed4"] = 400;
$stemmer["hvadellers"] = 250;
$samlet = array_sum($stemmer);

foreach ($stemmer as $key => $value)
{
  echo "$key ($value) = " . (($value / $samlet) * 100) . "\n<br />";
}

/*
  Udskriver array-indexet som beskrivelse med antallet af stemmer i parantes samt procentdelen efter lighedstegnet.

  Prøv evt. at lege med det, hvis det er
*/
Avatar billede n-emy Nybegynder
14. april 2004 - 21:17 #7
thx^^
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