⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cfunctions.php

📁 php+mysql做的调查问卷管理系统php+mysql做的调查问卷管理系统
💻 PHP
字号:
<?
################################################################################
# phpQuestionnaire                           Version 2.2                       #
# Copyright 2003-2005 chumpsoft, inc.        March 28, 2005                    #
################################################################################
#              SCRiPTMAFiA 2005 - THE DiRTY HANDS ON YOUR SCRiPTS              #
################################################################################

function SummaryQuestions ($sid) {
	$qidlist = array();

	$mqqlist = mysql_query("select * from phpQQuestion where SID = \"".ProtectMySQL($sid)."\" and Summary = \"y\"");
	while ($maqlist = mysql_fetch_array($mqqlist)) {
		$qidlist[] = $maqlist;
	}

	return $qidlist;
}

function RetrieveSummary ($sid, $qidlist, $sortmethod, $sortdesc, $start, $limit) {
	global $phpQlang;
	$qstring = "select * from phpQSurvey where SID = \"".ProtectMySQL($sid)."\"";
	$masurvey = mysql_fetch_array(mysql_query($qstring));

	$sortorder = 'DESC';
	$emailitem = '';
	if ($sortdesc == 'a') {
		$sortorder = '';
		$emailitem = '~';
	}

	$sortfield = "CompleteDate";
	if ($sortmethod == "email") { $sortfield = "IF(ISNULL(Email),\"$emailitem\",Email)"; }
	elseif ($sortmethod == "ip") { $sortfield = "IPAddr"; }

	$qstring = "select UID, Email, EmailConfirm, IPAddr, date_format(CompleteDate, '".$phpQlang['MySQLDateFormatShort']."') as mdate ";
	$qstring .= "from phpQUser where SID = \"".ProtectMySQL($sid)."\" order by $sortfield $sortorder LIMIT $start,$limit";
	$mquid = mysql_query($qstring);

	$userarray = array();
	$viewarray = array();
	$uidsidarray = array();
	$coltype = (substr($masurvey["SurveyUsers"],2,1)) ? "Email" : "IPAddr";
	while ($mauid = mysql_fetch_array($mquid)) {

		# Checking to see if Email Verification was used

		$colname = $mauid[$coltype];
		if (strlen($colname) > 20) { $colname = substr($colname,0,20) . "..."; }
		$colname = ProtectHTML($colname);
		if ($coltype == "Email") {
			if (!$colname) { $colname = $phpQlang['notentered']; }
			elseif ($mauid["EmailConfirm"] == "y") {
				$colname = "<b style=\"color: #009900;\">$colname</b>";
			}
			else {
				$colname = "<b style=\"color: #990000;\">$colname</b>";
			}
		}

		$uidsidarray[] = "sid=$sid&uid=".$mauid["UID"];
		$viewarray[] = "../view.php?sid=$sid&uid=".$mauid["UID"];
		$answerarray = array($mauid["mdate"], $colname);

		# Going through all the Questions

		for ($i=0; $i<sizeof($qidlist); $i++) {
			$qstring = "select Answer from phpQAnswer where SID = \"".ProtectMySQL($sid)."\" and UID = \"".ProtectMySQL($mauid["UID"])."\"";
			$qstring .= " and QID = \"".ProtectMySQL($qidlist[$i]["QID"])."\"";
			$mqanswer = mysql_query($qstring);

			# Storing Answers for the Summary

			if ($maanswer = mysql_fetch_array($mqanswer)) {
				if ($qidlist[$i]["Type"] != "textfield" && $qidlist[$i]["Type"] != "textarea") {
					$answerarray[] = ProcessAnswer($qidlist[$i]["Answer"], $maanswer["Answer"]);
				} else {
					$answerarray[] = ProtectHTML($maanswer["Answer"]);
				}
			} else {
				$answerarray[] = "";
			}
		}
		$userarray[] = $answerarray;
	}

	$contents = PrintSummary ($sid, $qidlist, $userarray, substr($masurvey["SurveyUsers"],2,1), $start, $limit, $sortmethod, $sortdesc, $viewarray, $uidsidarray);

	return $contents;
}

function ProcessAnswer ($qanswer, $answer) {
	$processed = "";

	$choice1 = split("\|\|\|", $qanswer);
	for ($i=0; $i<sizeof($choice1); $i++) {
		$choice2 = split("\|\|", $choice1[$i]);
		$aidletter = (substr($choice2[2],0,11) == "Textfield:(") ? "O" : "N";
		$canswer = (substr($choice2[2],0,11) == "Textfield:(") ? substr($choice2[2],11,-1) : $choice2[2];
		$hash[$aidletter.$choice2[1]] = ProtectHTML($canswer);
	}

	$choice1= split("\|\|", $answer);
	for($j=0; $j<sizeof($choice1); $j++) {
		$processed .= ($processed) ? ", " : "";
		if (substr($choice1[$j],0,1) == "O") {
			$choice2 = split("\|", $choice1[$j]);
			$processed .= $choice2[1];
		} else {
			$processed .= $hash[$choice1[$j]];
		}
	}

	return $processed;
}

function PrintSummary ($sid, $qidlist, $alist, $emailconfirm, $start, $limit,
    $sortmethod, $sortdesc, $viewarray, $uidsidarray) {
	global $phpQlang;
	$imgurl = $GLOBALS["phpQImageDir"];
	$sortmethod = ($sortmethod < sizeof($alist[0]) && $sortmethod >= 0) ? $sortmethod : 0;
	$sortdesc = ($sortdesc == "d" || $sortdesc == "a") ? $sortdesc : "a";

	$contents .= "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH=100%>\n";
	$contents .= "<TR>\n";
	$contents .= "<TD BGCOLOR=#333366 WIDTH=7><IMG SRC=\"images/invdot.gif\" WIDTH=7 HEIGHT=1 ALT=\"\"></TD>";

	$contents .= PrintColumn("DateCompleted", $sortmethod, $sortdesc, 0);

	$columnname = ($emailconfirm) ? "EmailAddress" : "IPAddress";
	$contents .= PrintColumn($columnname, $sortmethod, $sortdesc, 1);

	for ($i=0; $i<sizeof($qidlist); $i++) {
		$question = (strlen($qidlist[$i]["Question"]) > 20) ?
		    substr($qidlist[$i]["Question"],0,20)."..." : $qidlist[$i]["Question"];
		$contents .= PrintColumn($question, $sortmethod, $sortdesc, $i+2);
	}
	$contents .= "<TD BGCOLOR=#333366 STYLE=\"color: #FFFFFF;\" ALIGN=right><B>".$phpQlang['Del']."</B></TD>";
	$contents .= "<TD BGCOLOR=#333366 ALIGN=right VALIGN=TOP><IMG SRC=\"images/bound1.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
	$contents .= "</TR>\n";
	
	$mqmax = mysql_query("SELECT COUNT(*) as num FROM phpQUser WHERE SID = \"".ProtectMySQL($sid)."\"");
	$mamax = mysql_fetch_array($mqmax);
	$max = $mamax['num'];
	$realstart = ($start < $max && $start > 0) ? $start : 0;
	$linecount = 0;

	for ($j=0, $l=0; $j<count($alist); $j++, $l++) {
		$leftimg = ($l % 2 == 0) ? "bound2.gif" : "bound7.gif";
		$rightimg = ($l % 2 == 0) ? "bound3.gif" : "bound8.gif";
		$delimg = ($l % 2 == 0) ? "delete1.gif" : "delete2.gif";
		$bgcolor = ($l % 2 == 0) ? "#FFFFFF" : "#DDEEFF";

		$contents .= "<TR>\n";
		$contents .= "<TD BACKGROUND=\"images/$leftimg\" HEIGHT=13>&nbsp;</TD>";
		for ($k=0; $k<sizeof($alist[$j]); $k++) {
			if ($k==0) {
				$contents .= "<TD BGCOLOR=$bgcolor  STYLE=\"padding-right: 2px;\" VALIGN=top><NOBR>".($j+1+$start).".&nbsp;<A HREF=\"".$viewarray[$l]."\" ";
				$surveydate = str_replace(" ","&nbsp;",$alist[$j][$k]);
				$contents .= "CLASS=link TARGET=_blank>".$surveydate."</A></NOBR></TD>";
			} else {
				$result = ($alist[$j][$k] == "") ? "&nbsp;" : $alist[$j][$k];
				$contents .= "<TD BGCOLOR=$bgcolor VALIGN=top STYLE=\"border-left: 1px #333366 solid; padding-left: 2px; padding-right: 2px;\">$result</TD>";
			}
		}

		$delurl = "choose.php?cs=".$GLOBALS["cs"]."&sortmethod=$sortmethod&sortdesc=$sortdesc&start=$start";
		$delurl .= "&action=delete&".$uidsidarray[$l];
		$contents .= "<TD BGCOLOR=$bgcolor HEIGHT=15 ALIGN=right VALIGN=top STYLE=\"border-top: 1px $bgcolor solid;\">";
		$contents .= "<A HREF=\"javascript:DeleteEntry('$delurl','".($j+1+$start)."')\">";
		$contents .= "<IMG SRC=\"$imgurl/$delimg\" WIDTH=13 HEIGHT=13 BORDER=0 ALT=\"".$phpQlang['X']."\"></A></TD>";
		$contents .= "<TD BACKGROUND=\"images/$rightimg\" WIDTH=7>&nbsp;</TD>";
		$contents .= "</TR>\n";
		$linecount++;
	}

	$colsize = sizeof($qidlist)+3;

	if ($linecount == 0) {
		$contents .= "<TR>\n";
		$contents .= "<TD BACKGROUND=\"images/bound2.gif\">&nbsp;</TD>";
		$contents .= "<TD COLSPAN=$colsize ALIGN=center WIDTH=100%><BR>".$phpQlang['NoResults']."<BR><BR></TD>";
		$contents .= "<TD BACKGROUND=\"images/bound3.gif\" WIDTH=7>&nbsp;</TD>";
		$contents .= "</TR>\n";
	}

	if ($realstart+$limit < $max || $realstart-$limit >= 0) {
		$contents .= "<TR>\n";
		$contents .= "<TD BGCOLOR=#333366 VALIGN=bottom><IMG SRC=\"images/bound9.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
		$contents .= "<TD BGCOLOR=#333366 COLSPAN=$colsize ALIGN=center STYLE=\"color: #FFFFFF;\">";

		$chooseloc = "choose.php?cs=".$GLOBALS["cs"]."&sortmethod=$sortmethod&sortdesc=$sortdesc&start=";
		$maxleftright = 7;
		$lastindex = ceil($max/$limit);

		# Previous Link

		if ($realstart-$limit >= 0) {
			$prevloc = $chooseloc.($realstart-$limit);
			$contents .= "<A HREF=\"$prevloc\" CLASS=link STYLE=\"color: #FFFFFF;\"><B>".$phpQlang['Previous']."</B></A>";
			$contents .= " : ";
		}

		# Index Links

		for ($k=1; $k<=$lastindex; $k++) {
			$startindex = floor($start/$limit) + 1;
			if ($k == 1 || $k == $lastindex ||
					($k >= $startindex-$maxleftright && $k <= $startindex+$maxleftright)) {
				$indexcc = ($k-1) * $limit + 1;
				$indexloc = $chooseloc.(($k-1)*$limit);
				$indexlink = "<A HREF=\"$indexloc\" CLASS=link STYLE=\"color: #FFFFFF\">$k</A>";
				$contents .= ($k > 1) ? " " : "";
				$contents .= ($k == $lastindex && $k-1 > $startindex+$maxleftright && $lastindex > 2*$maxleftright+1) ? "... " : "";
				$contents .= ($indexcc-1 == $start) ? "<B STYLE=\"color: #99CCFF;\">[$k]</B>" : "<B>$indexlink</B>";
				$contents .= ($k == 1 && $k+1 < $startindex-$maxleftright && $lastindex > 2*$maxleftright+1) ? " ..." : "";
			}
		}

		# Next Link

		if ($realstart+$limit < $max) {
			$nextloc = $chooseloc.($realstart+$limit);
			$contents .= " : ";
			$contents .= "<A HREF=\"$nextloc\" CLASS=link STYLE=\"color: #FFFFFF;\"><B>".$phpQlang['Next']."</B></A>";
		}

		$contents .= "</TD>";
		$contents .= "<TD BGCOLOR=#333366><IMG SRC=\"images/invdot.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
		$contents .= "</TR>\n";
	}
	else {
		$contents .= "<TR>\n";
		$contents .= "<TD BGCOLOR=#333366><IMG SRC=\"images/bound9.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
		$contents .= "<TD BGCOLOR=#333366 COLSPAN=$colsize ALIGN=center STYLE=\"color: #FFFFFF;\">";
		$contents .= "<TD BGCOLOR=#333366><IMG SRC=\"images/invdot.gif\" WIDTH=7 HEIGHT=17 ALT=\"\"></TD>";
		$contents .= "</TR>\n";
	}

	$contents .= "</TABLE>\n";

	return $contents;
}

function PrintColumn ($columnname, $sortmethod, $sortdesc, $column) {
	global $phpQlang;
	$sid = $GLOBALS["cs"];
	$columnsort["DateCompleted"] = 'date';
	$columnsort["EmailAddress"] = 'email';
	$columnsort["IPAddress"] = 'ip';

	$desc = ($sortmethod == $columnsort[$columnname]) ?
	    (($sortdesc == "a") ? 1 : 2) : 0;

	switch ($desc) {
		case 0: $sortarrow = "<IMG SRC=\"images/invdot.gif\" WIDTH=1 HEIGHT=15 ALT=\"\">"; break;
		case 1: $sortarrow = "<A HREF=\"choose.php?cs=$sid&sortmethod=".$columnsort[$columnname]."&sortdesc=d\">";
						$sortarrow .= "<IMG SRC=\"images/arrowup.gif\" WIDTH=15 HEIGHT=15 BORDER=0 ALT=\"".$phpQlang['AltUp']."\">";
						$sortarrow .= "</A>"; break;
		case 2: $sortarrow = "<A HREF=\"choose.php?cs=$sid&sortmethod=".$columnsort[$columnname]."&sortdesc=a\">";
						$sortarrow .= "<IMG SRC=\"images/arrowdown.gif\" WIDTH=15 HEIGHT=15 BORDER=0 ALT=\"".$phpQlang['AltDown']."\">";
						$sortarrow .= "</A>"; break;
	}

	$newsortdesc = ($sortmethod == $columnsort[$columnname]) ?
	    (($sortdesc == "a") ? "d" : "a") : (($column == 0) ? "d" : "a");
	$sortloc = "choose.php?cs=$sid&sortmethod=".$columnsort[$columnname]."&sortdesc=$newsortdesc";

	$addstyle = '';
	if ($column > 0) { $addstyle = 'border-left: 1px #FFFFFF solid; padding-left: 2px;'; }
	$contents .= "<TD BGCOLOR=#333366 STYLE=\"$addstyle padding-right: 2px;\">";
	$contents .= "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0><TR>";
	$contents .= "<TD STYLE=\"color: white;\">";
	if ($columnsort[$columnname]) {
		$contents .= "<A HREF=\"$sortloc\" STYLE=\"color: white; text-decoration: none;\"><NOBR><B>".$phpQlang[$columnname]."</B></NOBR></A>";
	}
	else {
		$contents .= "<B>".ProtectHTML($columnname)."</B>";
	}
	$contents .= "</TD>";
	$contents .= "<TD>$sortarrow</TD>";
	$contents .= "</TR></TABLE>";
	$contents .= "</TD>";

	return $contents;
}

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -