Avatar billede djsteiner Nybegynder
29. december 2011 - 16:16 Der er 1 løsning

Udvide php voting script

Hej jeg står og skal bruge noget hjælp til at udvide  et voting script.


Som det er nu kan man stemme på et spørgsmål, her ville jeg gerne kunne udvide det sådan, at man kan lave flere spørgsmål og til sidst bliver svarende så samlet og man kan se resultatet af ens svar.

Koden er delt op i to dele poll.php:

<?php require_once('Connections/conn_vote.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO poll (id, question) VALUES (%s, %s)",
                      GetSQLValueString($_POST['id'], "int"),
                      GetSQLValueString($_POST['Poll'], "text"));

  mysql_select_db($database_conn_vote, $conn_vote);
  $Result1 = mysql_query($insertSQL, $conn_vote) or die(mysql_error());

  $insertGoTo = "results.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}

$colname_rs_vote = "-1";
if (isset($_GET['recordID'])) {
  $colname_rs_vote = $_GET['recordID'];
}
mysql_select_db($database_conn_vote, $conn_vote);
$query_rs_vote = sprintf("SELECT * FROM poll WHERE id = %s", GetSQLValueString($colname_rs_vote, "int"));
$rs_vote = mysql_query($query_rs_vote, $conn_vote) or die(mysql_error());
$row_rs_vote = mysql_fetch_assoc($rs_vote);
$totalRows_rs_vote = mysql_num_rows($rs_vote);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Poll</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>

<fieldset>

    <legend>What is your JavaScript library of choice?</legend>
   
    <form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST">
   
    <label>
        <input type="radio" name="Poll" value="mootools" id="Poll_0" />
        Mootools
    </label>
   
    <label>
        <input type="radio" name="Poll" value="prototype" id="Poll_1" />
          Prototype
    </label>
   
    <label>
        <input type="radio" name="Poll" value="jquery" id="Poll_2" />
        jQuery
    </label>
   
    <label>
        <input type="radio" name="Poll" value="spry" id="Poll_3" />
        Spry
    </label>

    <label>
        <input type="radio" name="Poll" value="other" id="Poll_4" />
        Other
    </label>

    <input type="submit" name="submit" id="submit" value="Vote" />
   
    <input type="hidden" name="id" value="form1" />
   
    <input type="hidden" name="MM_insert" value="form1" />
</form>

</fieldset>

</body>
</html>


<?php
mysql_free_result($rs_vote);
?>





Del to result.php:

<?php require_once('Connections/conn_vote.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;   
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_conn_vote, $conn_vote);
$query_rs_vote = "SELECT * FROM poll";
$rs_vote = mysql_query($query_rs_vote, $conn_vote) or die(mysql_error());
$row_rs_vote = mysql_fetch_assoc($rs_vote);
$totalRows_rs_vote = mysql_num_rows($rs_vote);

$resultQuestion1 = mysql_query("SELECT * FROM poll WHERE question='mootools'");
$num_rowsQuestion1 = mysql_num_rows($resultQuestion1);

$resultQuestion2 = mysql_query("SELECT * FROM poll WHERE question='prototype'");
$num_rowsQuestion2 = mysql_num_rows($resultQuestion2);

$resultQuestion3 = mysql_query("SELECT * FROM poll WHERE question='jquery'");
$num_rowsQuestion3 = mysql_num_rows($resultQuestion3);

$resultQuestion4 = mysql_query("SELECT * FROM poll WHERE question='spry'");
$num_rowsQuestion4 = mysql_num_rows($resultQuestion4);

$resultQuestion5 = mysql_query("SELECT * FROM poll WHERE question='other'");
$num_rowsQuestion5 = mysql_num_rows($resultQuestion5);

$percentQuestion1 = ($num_rowsQuestion1 / $totalRows_rs_vote)*100;
$percentQuestion2 = ($num_rowsQuestion2 / $totalRows_rs_vote)*100;
$percentQuestion3 = ($num_rowsQuestion3 / $totalRows_rs_vote)*100;
$percentQuestion4 = ($num_rowsQuestion4 / $totalRows_rs_vote)*100;
$percentQuestion5 = ($num_rowsQuestion5 / $totalRows_rs_vote)*100;

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>Results</title>
    <link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>
    <fieldset>
   
        <legend>Results</legend>
       
        <ul>
            <li>
                <span class="total-votes"><?php echo $num_rowsQuestion1 ?></span> Mootools
                <br />
                <div class="results-bar" style="width: <?php echo round($percentQuestion1,2); ?>%;">
                    <?php echo round($percentQuestion1,2); ?>%
                </div>
            </li>
           
            <li>
                <span class="total-votes"><?php echo $num_rowsQuestion2 ?></span> Prototype
                <div class="results-bar" style="width: <?php echo round($percentQuestion2,2); ?>%;">
                    <?php echo round($percentQuestion2,2); ?>%
                </div>
            </li>
       
            <li>
                <span class="total-votes"><?php echo $num_rowsQuestion3 ?></span> jQuery
                <div class="results-bar" style="width: <?php echo round($percentQuestion3,2); ?>%;">
                    <?php echo round($percentQuestion3,2); ?>%
                </div>
            </li>
       
            <li>
                <span class="total-votes"><?php echo $num_rowsQuestion4 ?></span> Spry
                <div class="results-bar" style="width: <?php echo round($percentQuestion4,2); ?>%;">
                    <?php echo round($percentQuestion4,2); ?>%
                </div>
            </li>
       
            <li>
                <span class="total-votes"><?php echo $num_rowsQuestion5 ?></span> Other
                <div class="results-bar" style="width: <?php echo round($percentQuestion5,2); ?>%;">
                    <?php echo round($percentQuestion5,2); ?>%
                </div>
            </li>
        </ul>
   
        <h6>Total votes: <?php echo $totalRows_rs_vote ?></h6>
       
        <a href="poll.php">Back to Voting</a>
   
    </fieldset>
   
</body>
</html>


<?php
mysql_free_result($rs_vote);
?>
Avatar billede djsteiner Nybegynder
31. december 2011 - 14:36 #1
Lukke tid! :)
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