[php] Poll: score probleempje

Pagina: 1
Acties:

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 22:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Topicstarter
Ik heb een poll gemaakt, en als je stemt op 1, 2 of 3 word er in het bestand 1.txt, 2.txt of 3.txt één opgeteld. Maar.. een poll begint natuurlijk bij 0. Om het aantal procenten uit te rekenen moet je delen door het aantal stemmen, maar als er nog niet gestemd is, deel je door 0 en dat kan dus niet. Hoe is dit op te lossen?
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?
<html>
<head>
<title>Poll</title>
</head>
<body>

<?
    $form = "<form action=index.php method=post><input type=hidden name=actie value=stemmen><input type=radio name=stem value=1>Keuze 1<br><input type=radio name=stem value=2>Keuze 2<br><input type=radio name=stem value=3>Keuze 3<br><input type=submit value=vote style=\"height: 19px; font-size: 10;\"><input type=button value=results onclick=\"document.location='index.php?actie=results'\" style=\"height: 19px; font-size: 10;\"></form>";
    $antwoord1 = file('1.txt');
    $antwoord2 = file('2.txt');
    $antwoord3 = file('3.txt');
    $stemmentotaal = $antwoord1[0] + $antwoord2[0] + $antwoord3[0];
    $a1_procent = round(10*$antwoord1[0] / ($stemmentotaal / 100))/10;
    $a2_procent = round(10*$antwoord2[0] / ($stemmentotaal / 100))/10;
    $a3_procent = round(10*$antwoord3[0] / ($stemmentotaal / 100))/10;
    $a1_grafiek = $a1_procent*2.5-1;
    $a2_grafiek = $a2_procent*2.5-1;
    $a3_grafiek = $a3_procent*2.5-1;


    echo("$form");
    
    if ($actie=="results") {
    echo("<script language=javascript>myWin=open('', 'nieuw_venster','width=425,height=164,status=no,toolbar=no,menubar=no'); \n");
    echo("myWin.document.open(); \n ");
    echo("myWin.document.write('<html><head><title>Poll: uitslagen</title></head><body><table border=0 cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"402\" bgcolor=\"#99CCFF\"><font face=\"Arial\" size=\"2\"><b>Uitslagen van de poll:</b></font></td></tr><tr><td width=\"402\" align=justify><font face=\"Arial\" size=\"2\">Er is in totaal $stemmentotaal keer gestemd. Daarvan had keuze één $antwoord1[0] stemmen, keuze 2 had $antwoord2[0] stemmen en keuze 3 had er $antwoord3[0]. Hieronder zie je de staafdiagram:<br></font><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><font face=\"Arial\" size=\"2\">1</font> </td><td><font face=\"Arial\" size=\"2\">[img]balk.gif[/img]<font face=arial size=1>$a1_procent%</font></td></tr><tr><td><font face=\"Arial\" size=\"2\">2:</font></td><td>[img]balk.gif[/img]<font face=arial size=1>$a2_procent%</td></tr><tr><td><font face=\"Arial\" size=\"2\">3:</font></td><td>[img]balk.gif[/img]<font face=arial size=1>$a3_procent%</td></tr></table></td></tr><tr><td bgcolor=\"#99CCFF\"><font face=\"Arial\" size=\"2\"><center>&amp;copy; 2001</center></font></td></tr></table>'); \n");
    echo("myWin.document.close();");
    echo("</script>"); }
    
    else if ($actie=="stemmen") {
    if ($stem =="1") {
    
    $antwoord_1 = $antwoord1[0] + 1;
    $ta = fopen("1.txt", "w");
    fputs($ta, $antwoord_1); 
    }

    if ($stem == "2") {
    $antwoord_2 = $antwoord2[0] + 1;
    $ta = fopen("2.txt", "w");
    fputs($ta, $antwoord_2); 
    } 

    if ($stem == "3") {
    $antwoord_3 = $antwoord3[0] + 1;
    $ta = fopen("3.txt", "w");
    fputs($ta, $antwoord_3); 
    } 

    /*echo(" ($stemmentotaal stemmen totaal)<br>");
    echo(" $antwoord1[0] vs. $antwoord2[0] vs. $antwoord3[0]");
    echo("<br><br><hr>");

    echo("<font face=arial size=2>Er zijn totaal $stemmentotaal stemmen uitgebracht.<br>");
    echo("Keuze 1 heeft $antwoord1[0] stemmen, keuze 2 heeft er $antwoord2[0] en keuze 3 heeft er $antwoord3[0].<br>");
    echo("Staaf-diagram:<br>");
    
    echo("[img]balk.gif[/img] => keuze 1 ($a1_procent%)<br>
    [img]balk.gif[/img] => keuze 2 ($a2_procent%)<br>
    [img]balk.gif[/img] => keuze 3 ($a3_procent%)<br>");
    */

    echo("<script language=javascript>myWin=open('', 'nieuw_venster','width=425,height=164,status=no,toolbar=no,menubar=no'); \n");
    echo("myWin.document.open(); \n ");
    echo("myWin.document.write('<html><head><title>Poll: uitslagen</title></head><body><table border=0 cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"402\" bgcolor=\"#99CCFF\"><font face=\"Arial\" size=\"2\"><b>Uitslagen van de poll:</b></font></td></tr><tr><td width=\"402\" align=justify><font face=\"Arial\" size=\"2\">Er is in totaal $stemmentotaal keer gestemd. Daarvan had keuze één $antwoord1[0]-1 stemmen, keuze 2 had $antwoord2[0]-1 stemmen en keuze 3 had er $antwoord3[0]-1. Hieronder zie je de staafdiagram:<br></font><table border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td><font face=\"Arial\" size=\"2\">1</font> </td><td><font face=\"Arial\" size=\"2\">[img]balk.gif[/img]<font face=arial size=1>$a1_procent%</font></td></tr><tr><td><font face=\"Arial\" size=\"2\">2:</font></td><td>[img]balk.gif[/img]<font face=arial size=1>$a2_procent%</td></tr><tr><td><font face=\"Arial\" size=\"2\">3:</font></td><td>[img]balk.gif[/img]<font face=arial size=1>$a3_procent%</td></tr></table></td></tr><tr><td bgcolor=\"#99CCFF\"><font face=\"Arial\" size=\"2\"><center>&amp;copy; 2001</center></font></td></tr></table>'); \n");
    echo("myWin.document.close();");
    echo("</script>"); }



?> 
</body>
</html>
?>

Sloppy code, ik weet...

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 16-09 21:52
Testen of 't bestand 0 contains of niet.

Verbouwing


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 22:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Topicstarter
Ja, en dan? Erg fijn om te weten dat er een 0 in zit, maar met die info alleen kom je er niet. Dan hou je dus nog steeds die 0 en kun je er niet door delen...

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

gewoon als het aantal votes nul is nul % laten zien

Doet iets met Cloud (MS/IBM)


  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 22:33

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

Topicstarter
Aha! Dat zocht ik, dank jullie wel!

(Hoe simpeler, hoe moeilijker... :P )

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.