【php开源代码栏目提醒】:网学会员--在 php开源代码编辑为广大网友搜集整理了:load.php绩等信息,祝愿广大网友取得需要的信息,参考学习。
<?php
//设置输出头部参数
header ("Expires: Mon, 26 Jul 2003 05:00:00 GMT");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate"); // HTTP1.1支持
header ("Pragma: no-cache"); // HTTP1.0支持
require_once 'conf/config.inc.php'; //包含参数设置文件
function show_all() //查询并返回当前可用调查题目函数
{
GLOBAL $db, $questions, $answers, $SSPoll; //申明全局变量
$today = date("Y-m-d"); //取得当前日期
$query = "SELECT * FROM $questions WHERE '$today' >= date_init AND '$today' <= date_end AND online = 'y' LIMIT 0,1";
$result = mysql_query($query); //取得当前时期范围内的有效调查题目
$votable = 'true'; //初始化“是否可投票”参数为真
if(mysql_num_rows($result) < 1) //如果该查询没有记录,则
查询其它时期范围在今天之后的调查题目,并设置“是否可投票”为否
{
$query = "SELECT * FROM $questions WHERE '$today' > date_init AND online = 'y' LIMIT 0,1";
$result = mysql_query($query);
$votable = 'false';
}
$row = mysql_fetch_assoc($result); //取得记录集对应数组
$my_id = $row['id']; //取得查询记录的“id”
if (isset ($SSPoll)) //判断是否已投过票,是则将“是否可投票”设置为否
{
if($_COOKIE["SSPoll"]==$my_id)
{
$votable='false';
}
}
print "id=$row[id]&question=$row[question]&online=$votable"; //输出调查题目各参数
mysql_free_result($result); //释放记录集
$query = "SELECT * FROM $answers WHERE id_poll = '$my_id'";
$result = my
sql_query($query); //查询与此题目相关的所有调查选项
while($row = mysql_fetch_assoc($result)) //循环输出所有调查选项参数
{
$a++;
print "&answer_" . ($a<10 ? '0' . $a : $a) . "=$row[answer]&votes_" . ($a<10 ? '0' . $a : $a) . "=$row[votes]";
print "&ids_" . ($a<10 ? '0' . $a : $a) . "=$row[id]";
}
mysql_free_result($result);
}
function send_vote($q,$a) //投票处理函数
{
GLOBAL $db, $questions, $answers, $add_cookie; //申明全局变量
add_cookie($q); //调用函数生成或重置Cookie变量
$query = mysql_query("UPDATE $answers SET votes = votes+1 WHERE id = '$a' AND id_poll = '$q'"); //将投票的选项对应投票数加1
print "output=true"; //输出已投票标志
}
function add_cookie($q) //设置Cookie函数
{
GLOBAL $cookie_life_time; //申明全局变量
setcookie ("SSPoll", $q,time()+(3600*24*$cookie_life_time)); //设置Cookie变量“SSPoll”值为$q
}
switch($_GET["action"]) //判断传递的动作参数,如为投票则调用投票处理
程序,否则调用显示调查函数
{
case 'send_vote':
send_vote($_GET['questionID'],$_GET['answerID']);
break;
default:
show_all();
break;
}
?>