Avatar billede m_bold Praktikant
17. november 2004 - 19:47 Der er 1 løsning

Vis resultat af afstemning i index.php

Jeg har rodet lidt med en afstemning på www.boldsens.dk. Det fungerer nogenlunde som det skal nu men jeg mangler 2 ting:

1. Resultatet skal stå på index.php efter man har stemt. - Altså i stedet for selve afstemningen - Den skal IKKE gå over på en ny side.

2. Jeg skal sætte en cookie, så man kun kan stemme én gang. Jeg har gjort et forsøg på dette, men det virker ikke.

Hjælp mig please. Det skal bare virke nu...

index.php:
<?
    ########## POLL QUESTION ##########
   
    echo "<form action=\"poll.php?action=vote\" method=\"post\">\n";
    echo "<table>\n";
   
    $conn = mysql_connect("xxxxxxx", "xxxxxxxx", "xxxxxxxx");
    mysql_select_db("boldsens_dk");
    $result = mysql_query("select * from pollquestion WHERE start <= now() AND end >= now()");
   
    while ($row = mysql_fetch_array($result)) {
    echo "<tr><td>" . htmlentities($row[question]) . "</td></tr>\n";
   
    $questionid = $row[questionid];
    }
?>
                  </font></em></div></td>
            </tr>
          </table>
          <br>
        </div>
      </div>
      <div align="center"></div>
      <table width="181" cellspacing="0">
        <tr>
          <td>
<?
    ########## POLL ANSWERS ##########
   
    $result = mysql_query("select * from pollanswer WHERE questionid = '$questionid'");
    while ($row = mysql_fetch_array($result)) {
    echo "<tr><td><input type=\"radio\" name=\"id\" value=\"" . $row["id"] . "\">" . $row["answer"]."</td></tr>\n";
    }
    echo "<tr><td><input type=\"hidden\" name=\"questionid\" value=\"$questionid\">\n";
?>
<div align="center">
<?
    echo "<br>";
    echo "<input type=\"submit\" value=\"Stem\"></td></tr>\n";
    echo "</table>\n";
    echo "</form>\n";
?>


poll.php:
<?php
########## VOTE ##########
// INDSÆTTES I BUNDEN AF POLL.PHP

if(!$_REQUEST[action]) {
if($_REQUEST[action] == "vote") {
$conn = mysql_connect ("xxxxxxx","xxxxxxx","xxxxxxx");
  mysql_select_db("boldsens_dk");
  mysql_query("UPDATE pollanswer SET hits = hits + 1 WHERE questionid = '$_REQUEST[questionid]' AND id = '$_REQUEST[id]'");
  mysql_close($conn);
  setcookie("voted", "true", time() + 86400);
}
}

########## POLL QUESTION ##########

echo "<table>\n";
$conn = mysql_connect ("xxxxxxxx","xxxxxxxx","xxxxxxxxxx");
mysql_select_db("boldsens_dk");
$result = mysql_query("select * from pollquestion WHERE start <= now() AND end >= now()");
while ($row = mysql_fetch_array($result)) {
echo "<tr><td colspan=\"2\">" . htmlentities($row["question"]) . "</td></tr>\n";

$questionid = $row["questionid"];
}

########## SUM OF POLLANSWERS ##########

$result = mysql_query("select sum(hits) as hits from pollanswer where questionid = '$questionid'");
while ($row = mysql_fetch_array($result)) {
  $sum = $row["hits"];
 

}

$result = mysql_query("select * from pollanswer WHERE questionid = '$questionid'");
while ($row = mysql_fetch_array($result)) {
  $percent = 0;
  if($row["hits"] > 0) {
    $percent = ($row["hits"] * 100) / $sum;
  }
    echo "<tr><td>" . htmlentities($row["answer"]) . "</td>";
    echo '<td><img src="hl.jpg" style="width: ' . $percent . 'px; height: 5px; border: 0px;" alt=""></td>';
    echo "<td>" . round($percent , 1). "%</td></tr>\n";
   
}
  echo "<td><tr><td colspan=\"2\">$sum stemme(r) i alt</td></tr>\n";
mysql_close($conn);

echo "</table>\n";

########## VOTE ##########
// INDSÆTTES I BUNDEN AF POLL.PHP

if($_REQUEST[action] == "vote") {
$conn = mysql_connect ("xxxxxxxxx","xxxxxxxx","xxxxxxxxx");
  mysql_select_db("boldsens_dk");
  mysql_query("UPDATE pollanswer SET hits = hits + 1 WHERE questionid = '$_REQUEST[questionid]' AND id = '$_REQUEST[id]'");
  mysql_close($conn);
}
?>
Avatar billede m_bold Praktikant
18. november 2004 - 10:16 #1
Ok. Ingen svar. Jeg har selv fikset det...
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