03. december 2005 - 22:48
Der er
13 kommentarer og 1 løsning
Simpel Afstemning
Jeg har et lille community hvor en bruger skal kunne oprette en afstemning :) Man skal kunne skrive et spørgsmål/overskrift og op til 6 valgmuligheder :) HAr ingen anelse om hvordan desværre :-( brugerID <- er navnet på feltet der indeholder brugerens id. Det behøves ikke at være noget fancy, den skal ikke bruge cookies for at tjekke om man har stemt, og når den viser resultates eks: Overskrift: Valg1 _____| 25% Valg2 _________| 50% Valg3 __| 10% Valg4 ___| 15% HÅber i vil hjælpe mig :)
Annonceindlæg tema
Slettet bruger
03. december 2005 - 23:37
#1
04. december 2005 - 00:00
#2
Ja har kigget igennem over 200, men alle køre over cookies :o Såå :-(
04. december 2005 - 11:41
#3
Skal det være at du bare har en afstemning eller skal det være at folk kan oprette afstemninger?
04. december 2005 - 12:16
#4
Dette her burte være det hele!
04. december 2005 - 12:16
#5
Undskyld jeg fik ikke læst hele spm'et.. Først laver vi en tabel create table vote_body ( id int(11) not null auto_increment, // ID'en på afstemningen af int(11) not null, // bruger ID'et vote0 char(255) not null, // Er spm'et vote1 char(255) not null, // Er svar 1 vote2 char(255) not null, // Er svar 2 vote3 char(255) not null, // Er svar 3 vote4 char(255) not null, // Er svar 4 vote5 char(255) not null, // Er svar 5 vote6 char(255) not null, // Er svar 6 unique(id) ) create table vote_svar ( id int(11) not null auto_increment, af int(11) not null, // Den bruger der har stems ID svar int(1) not null, // SVARET til int(11) not null, // ID'en til afstemningen i vote_body unique(id) ) Nu har vi så lavet tabellen så skal vi oprette afstemningen. opret.php ------------------------------------- <? // Link til database // Denne side opretter en afstemning hvis brugerens ID, spm, svar1 og svar2 er der.. if (($af) && ($vote0) && ($vote1) && ($vote2)) { echo "Din afstemning er nu oprettet!"; mysql_query("INSERT INTO vote_body (af,vote0,vote1,vote2,vote3,vote4,vote5,vote6) VALUES ('$af','$vote0','$vote1','$vote2','$vote3','$vote4','$vote5','$vote6')"); } else { ?> <form action="opret.php" method="post"> BRUGER ID: * <input name="af" type="text"><br> Spørgsmål: * <input name="vote0" type="text"><br> Svar 1: * <input name="vote1" type="text"><br> Svar 2: * <input name="vote2" type="text"><br> Svar 3: <input name="vote3" type="text"><br> Svar 4: <input name="vote4" type="text"><br> Svar 5: <input name="vote5" type="text"><br> Svar 6: <input name="vote6" type="text"><br> * skal udfyldes.<br> <input type="submit" value="Opret afstemning"> </form> <? } ?> vis.php -------------------------------------- <? // Link til database // Denne side Viser hvilke(n) afstemning(er) brugeren har oprettet! Eller en bruger får lov til at stemme // Den enkle bruger bestemmes ud fra $brugerid if ($action=='stem') { if ($vote) { echo "Tak for din stemme!"; mysql_query("INSERT INTO vote_svar (af,svar,til) VALUES ('$brugerid','$vote','$id')"); } } else { $query = mysql_query("SELECT * FORM vote_body WHERE af = '$brugerid'"); while($row = mysql_fetch_array($query)) { ?> <form action="vis.php?brugerid=<? echo $brugerid; ?>&action=stem&id=<? echo $row[id]; ?>" method="post"> <table> <tr> <td colspan="2"><b><? echo $row[vote0]; ?></b></td> </tr> <tr> <td><input name="vote" value="1" type="radio"></td> <td><? echo $row[vote1]; ?></td> </tr> <tr> <td><input name="vote" value="2" type="radio"></td> <td><? echo $row[vote2]; ?></td> </tr> <? if ($row[vote3]) { ?> <tr> <td><input name="vote" value="3" type="radio"></td> <td><? echo $row[vote3]; ?></td> </tr> <? } if ($row[vote4]) { ?> <tr> <td><input name="vote" value="4" type="radio"></td> <td><? echo $row[vote4]; ?></td> </tr> <? } if ($row[vote5]) { ?> <tr> <td><input name="vote" value="5" type="radio"></td> <td><? echo $row[vote5]; ?></td> </tr> <? } if ($row[vote6]) { ?> <tr> <td><input name="vote" value="6" type="radio"></td> <td><? echo $row[vote6]; ?></td> </tr> <? } ?> </table> </form> <? } } ?> result.php --------------------------------------- <? // Link til database // Her udskriver vi resultatet af en bestemt afstemning bestemt af id $query = mysql_query("SELECT * FORM vote_body WHERE id = '$id'"); while($row = mysql_fetch_array($query)) { $antal = mysql_num_row($query); // UDREGN - her finder vi ud af hvor mange svar de forskellige spm har fået.. $vote1q = mysql_query("SELECT * FORM vote_body WHERE id = '$id' AND svar = 1"); $vote1a = mysql_num_row($vote1q); $vote2q = mysql_query("SELECT * FORM vote_body WHERE id = '$id' AND svar = 2"); $vote2a = mysql_num_row($vote1q); if ($row[vote3]) { $vote2q = mysql_query("SELECT * FORM vote_body WHERE id = '$id' AND svar = 3"); $vote2a = mysql_num_row($vote1q); } if ($row[vote4]) { $vote2q = mysql_query("SELECT * FORM vote_body WHERE id = '$id' AND svar = 4"); $vote2a = mysql_num_row($vote1q); } if ($row[vote5]) { $vote2q = mysql_query("SELECT * FORM vote_body WHERE id = '$id' AND svar = 5"); $vote2a = mysql_num_row($vote1q); } if ($row[vote6]) { $vote2q = mysql_query("SELECT * FORM vote_body WHERE id = '$id' AND svar = 6"); $vote2a = mysql_num_row($vote1q); } // SLUT UDREGN // Antal max bredte på baurometerne // Valg1 _____| 25% // Valg2 _________| 50% // Valg3 __| 10% // Valg4 ___| 15% $maxwidth = 200; ?> <table> <tr> <td colspan="2"><b><? echo $row[vote0]; ?></b></td> </tr> <tr> <td><? echo $row[vote1]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote1a); ?>"><? echo round($maxwidth / $antal * $vote1a); ?></td> </tr> <tr> <td><? echo $row[vote2]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote2a); ?>"><? echo round($maxwidth / $antal * $vote2a); ?></td> </tr> <? if ($row[vote3]) { ?> <tr> <td><? echo $row[vote3]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote3a); ?>"><? echo round($maxwidth / $antal * $vote3a); ?></td> </tr> <? } if ($row[vote4]) { ?> <tr> <td><? echo $row[vote4]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote4a); ?>"><? echo round($maxwidth / $antal * $vote4a); ?></td> </tr> <? } if ($row[vote5]) { ?> <tr> <td><? echo $row[vote5]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote5a); ?>"><? echo round($maxwidth / $antal * $vote5a); ?></td> </tr> <? } if ($row[vote6]) { ?> <tr> <td><? echo $row[vote6]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote6a); ?>"><? echo round($maxwidth / $antal * $vote6a); ?></td> </tr> <? } ?> </table> <? } ?>
04. december 2005 - 12:20
#6
Der til sidst.. ----------------------------- <table> <tr> <td colspan="2"><b><? echo $row[vote0]; ?></b></td> </tr> <tr> <td><? echo $row[vote1]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote1a); ?>"><? echo round($maxwidth / $antal * $vote1a); ?> %</td> </tr> <tr> <td><? echo $row[vote2]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote2a); ?>"><? echo round($maxwidth / $antal * $vote2a); ?> %</td> </tr> <? if ($row[vote3]) { ?> <tr> <td><? echo $row[vote3]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote3a); ?>"><? echo round($maxwidth / $antal * $vote3a); ?> %</td> </tr> <? } if ($row[vote4]) { ?> <tr> <td><? echo $row[vote4]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote4a); ?>"><? echo round($maxwidth / $antal * $vote4a); ?> %</td> </tr> <? } if ($row[vote5]) { ?> <tr> <td><? echo $row[vote5]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote5a); ?>"><? echo round($maxwidth / $antal * $vote5a); ?> %</td> </tr> <? } if ($row[vote6]) { ?> <tr> <td><? echo $row[vote6]; ?></td> <td><img src="dot.gif" width="<? echo round($maxwidth / $antal * $vote6a); ?>"><? echo round($maxwidth / $antal * $vote6a); ?> %</td> </tr> <? } ?> </table>
04. december 2005 - 12:22
#7
Skulle det se sådan ud eller det var ikke nødvendigt med det giver mere forståelse.. jeg smed bare et "%"-tegn efter alle udreginger i tekst! // Louv!
04. december 2005 - 17:18
#8
Mange tak, det ser ud til at virke :) - untagen når den skal vise resultatet, $query = mysql_query("SELECT * FROM vote_body WHERE id = '$_GET[view]'"); $row = mysql_fetch_array($query); $query2 = mysql_query("SELECT * FROM vote_svar WHERE til = '$_GET[view]'"); $antal = mysql_num_rows($query2); $vote1q = mysql_query("SELECT * FROM vote_svar WHERE id = '$_GET[view]' AND svar = 1"); $vote1a = mysql_num_rows($vote1q); $vote2q = mysql_query("SELECT * FROM vote_svar WHERE id = '$_GET[view]' AND svar = 2"); $vote2a = mysql_num_rows($vote2q); if ($row[vote3]) { $vote3q = mysql_query("SELECT * FROM vote_svar WHERE id = '$_GET[view]' AND svar = 3"); $vote3a = mysql_num_rows($vote3q); } if ($row[vote4]) { $vote4q = mysql_query("SELECT * FROM vote_svar WHERE id = '$_GET[view]' AND svar = 4"); $vote4a = mysql_num_rows($vote4q); } if ($row[vote5]) { $vote5q = mysql_query("SELECT * FROM vote_svar WHERE id = '$_GET[view]' AND svar = 5"); $vote5a = mysql_num_rows($vote5q); } if ($row[vote6]) { $vote6q = mysql_query("SELECT * FROM vote_svar WHERE id = '$_GET[view]' AND svar = 6"); $vote6a = mysql_num_rows($vote6q); } $maxwidth = 100; ?> <table> <tr> <td colspan="2"><b><? echo $row[vote0]; ?></b></td> </tr> <tr> <td><? echo $row[vote1]; ?></td> <td><img src="dot.gif" height="9" width="<? echo round($maxwidth / $antal * $vote1a); ?>"><? echo round($maxwidth / $antal * $vote1a); ?> %</td> </tr> <tr> <td><? echo $row[vote2]; ?></td> <td><img src="dot.gif" height="9" width="<? echo round($maxwidth / $antal * $vote2a); ?>"><? echo round($maxwidth / $antal * $vote2a); ?> %</td> </tr> <? if ($row[vote3]) { ?> <tr> <td><? echo $row[vote3]; ?></td> <td><img src="dot.gif" height="9" width="<? echo round($maxwidth / $antal * $vote3a); ?>"><? echo round($maxwidth / $antal * $vote3a); ?> %</td> </tr> <? } if ($row[vote4]) { ?> <tr> <td><? echo $row[vote4]; ?></td> <td><img src="dot.gif" height="9" width="<? echo round($maxwidth / $antal * $vote4a); ?>"><? echo round($maxwidth / $antal * $vote4a); ?> %</td> </tr> <? } if ($row[vote5]) { ?> <tr> <td><? echo $row[vote5]; ?></td> <td><img src="dot.gif" height="9" width="<? echo round($maxwidth / $antal * $vote5a); ?>"><? echo round($maxwidth / $antal * $vote5a); ?> %</td> </tr> <? } if ($row[vote6]) { ?> <tr> <td><? echo $row[vote6]; ?></td> <td><img src="dot.gif" height="9" width="<? echo round($maxwidth / $antal * $vote6a); ?>"><? echo round($maxwidth / $antal * $vote6a); ?> %</td> </tr> <? } ?> </table> Således ser koden ud, men der er 2 stemmer angivet på en afstemning, men den viser kun den første :( eks: Spørgsmål. Valg1 | 0% Valg2 _________| 50% Valg3 | 0% Valg4 | 0%
04. december 2005 - 19:59
#9
ok.. Du har fx. stemt sådan.. Valg1 0 Valg2 2 Valg3 0 Valg4 0 Men det vises kun.. Valg1 | 0% Valg2 _________| 50% Valg3 | 0% Valg4 | 0% ikke?
05. december 2005 - 00:12
#10
Nej har eksempel stemt en gang på valg 1 og engang på valg 3, men den viser kun den første stemme, Dvs valg 1
05. december 2005 - 17:43
#11
Jeg fandt ud af det, mange tak - smid dit svar :)
07. december 2005 - 12:24
#12
ok tak.. men hvordan gjorde du?? // Louv
07. december 2005 - 12:25
#13
svar!
11. december 2005 - 02:11
#14
lavede id til vote_id under alle de der queries. hvis du forstår :D
Vi tilbyder markedets bedste kurser inden for webudvikling