Poll
#--> SQL CREATE TABLE `poll` ( `vraag1` int(10) unsigned NOT NULL default '0', `vraag2` int(10) unsigned NOT NULL default '0', `vraag3` int(10) unsigned NOT NULL default '0', `vraag4` int(10) unsigned NOT NULL default '0', `vraag5` int(10) unsigned NOT NULL default '0', `vraag6` int(10) unsigned NOT NULL default '0' ) TYPE=MyISAM; INSERT INTO `poll` VALUES (0, 0, 0, 0, 0, 0); Je begint met het maken van de tabel poll zoals hierboven weergegeven. Dingen die je zelf voor jouw site moet wijzigen: * mysql_host (localhost is meestal goed) * mysql_user (user om te connecten met mysql) * mysql_pass (password om te connecten met mysql) * database (database die je wil gebruiken) * $cookie_domain (www.jouwdomein.nl) Er komt ook een plaatje in voor met de naam: Heb je dit ergens anders staan (andere map) of met een andere naam voor het plaatje dan wel op twee plekken in het script wijzigen. Verder wil ik een ieder die me geholpen heeft om dit script van Nano draaiende te krijgen en de uitbreiding van het zien van de resultaten voordat je stemt en dan met name SanThe heel erg bedanken!
++++++++++++++++++++poll.php++++++++++++++++++++
[code]<?php
session_start();
// connecting naar de database
@mysql_connect("localhost", "mysql_user", "mysql_pass") or die(mysql_error());
mysql_select_db("database") or die(mysql_error());
// de variabele voor de content
$content="";
// hier staat de functie om de resultaten te laten zien.
function showresults()
{
global $poll, $num, $poll_vraag;
// het aantal antwoorden per poll vraag uit de db trekken
$sql = "SELECT * FROM `poll`";
$res = @mysql_query($sql) or die(mysql_error());
$data = mysql_fetch_assoc($res);
// totaal aantal stemmen bepalen
$total_votes = 0;
for($i=1; $i<=$num; $i++)
{
$total_votes += $data['vraag'.$i];
}
// de opbouw van de content + plaatje
$content = "<center><img src=\"../images/poll_icon.gif\"><b>Resultaat van de Poll van Lissy Design</b><br><br>\n</center><table width=\"540\" cellpadding=\"3\" cellspacing=\"0\" border=\"1\" bordercolor=\"#ffffff\" class=\"tekst\">\n<tr><td colspan=\"4\" align=\"center\"><font color=\"#ffffff\"><b>".$poll_vraag."</b></font></td></tr>\n";
for($i=1; $i<=$num; $i++)
{
// procent per poll optie uitrekenen
$proc = round(($data['vraag'.$i] / $total_votes) * 100, 1);
if(!strstr($proc, '.')) $proc .= '.0';
// opbouw van de html tabel
$content .= '<tr bgcolor="'.($i % 2 ? '#F4F4F4' : '#E8E8E8').'"><td width="140"> <b>'.$poll[$i]. '</b></td><td width="220"> <img src="../images/poll_left.gif" width="2" height="10" alt=""><img src="../images/poll.gif" height="10" width="'.round(($proc * 2)).'" alt=""><img src="../images/poll_right.gif" width="2" height="10" alt=""></td><td align="right"> '.$proc.'% </td><td align="right" nowrap> ('.$data['vraag'.$i].' votes) </td></tr>'."\n";
}
$content .= "</table>\n<br>\n <br><br><center>Totaal is er <b>".$total_votes."</b> keer gestemd</center>";
return $content;
};
// cookie domein
$cookie_domain = "www.jouwsite.nl";
// poll vraag
$poll_vraag = "Wat vind jij van de nieuwe Studio Sport bij Talpa?";
// poll options
$poll[1] = 'Heel erg leuk en doorgaan!';
$poll[2] = 'Leuk';
$poll[3] = 'Gaat wel';
$poll[4] = 'Hoeft niet voor mij';
$poll[5] = 'Gewoon stoppen en terug naar de NOS';
$poll[6] = 'Te commercieel';
// hoeveel pollvragen hebben we
$num = count($poll);
// kijken of er al eerder gestemd is
if(!isset($_SESSION['pollvoted']) && !isset($_COOKIE['pollres']))
{
// kijken of er een optie gekozen is
if(isset($_POST['poll']))
{
// updaten van de gekozen optie in de poll
$sql = "UPDATE `poll` SET `vraag".$_POST['poll']."` = (vraag".$_POST['poll']." +1)";
$res = @mysql_query($sql) or die(mysql_error());
// kijken of de database ook werkelijk geupdate is
if(mysql_affected_rows())
{
// het pad weergeven waar deze file staat
$content = '<br><br><br><center><b>Updating Poll</b></center> <META HTTP-EQUIV=Refresh CONTENT="1; URL=http://www.jouwsite.nl/poll.php">';
// voor als cookies niet aanstaan op de client
$_SESSION['pollvoted'] = 'oke';
// setting cookie
setcookie('pollres', 'voted', time()+17558400, '/', $cookie_domain);
}
else
{
$content = '<br><br><br><center><b>Het updaten van de database ging niet helemaal goed</b></center>';
}
}
else
{
// opbouw van stemformulier en tabel + plaatje
$content = "<form style=\"margin:0px;\" action=\"poll.php\" method=\"post\"><center>\n <img src=\"../images/poll_icon.gif\"><b>Poll van Jouwsite</b><br><br>\n</center><table width=\"540\" cellpadding=\"1\" cellspacing=\"0\" border=\"1\" bordercolor=\"#ffffff\" class=\"tekst\"><tr bgcolor=\"#003D89\"><td align=\"center\" colspan=\"3\"><font color=\"#ffffff\"><b> ".$poll_vraag."</b></font></td></tr>\n";
// opbouw van stemmogelijkheden en tabel
for($i=1; $i<=$num; $i++)
{
$content .= '<tr bgcolor="'.($i % 2 ? '#F4F4F4' : '#E8E8E8').'"><td><input type="radio" name="poll" id="'.$i.'" value="'.$i.'"> <label for="'.$i.'"><b> '.$poll[$i].'</b></label></td</tr>'."\n";
}
// einde formulier en tabel
$content .= "</table>\n <br><br><center><input type=\"submit\" name=\"submit\" value=\"Vote\">\n</form>\n";
// Hier staat de knop om de resultaten te laten zien. En indien aangeklikt show de results.
if(isset($_GET['showresults']) AND $_GET['showresults'] == "yes")
{
$content .= showresults($num);
}
else
{
$content .= "<br><a href=\"poll.php?showresults=yes\"><font size=\"2\"><b>Show Results</b></font></a>";
}
}
}
else
{
$content .= showresults($num);
}
?>
<html>
<head>
<title><?php echo $poll_vraag; ?></title>
</head>
<body>
<div style="text-align:left; padding:40px; width:600px; margin:0px auto;">
<?php
echo $content;
?>
</div>
</body>
</html> [/code]
Reacties
0