Your IP : 216.73.217.79


Current Path : /var/www/cesa.co.za/
Upload File :
Current File : /var/www/cesa.co.za/inc_reportquestionnaire.php

<h1><?php echo htmlspecialchars($Questionnaire_Name); ?><!-- for <?php echo $CompanyName; ?>--><br>Consolidated Responses</h1>
<?php
$sql = "SELECT COUNT(*) AS NumResp, MAX(Response_Date) AS MaxDate
FROM AnonRespondees WHERE Questionnaire_ID='" . $Questionnaire_ID . "' 
AND AnonRespondees.GroupID=" . $GroupID;
// echo $sql;
$recResp = mysqli_query($conn, $sql);
if ($rowResp = mysqli_fetch_assoc($recResp)) {

	if ($rowResp["NumResp"] == 0) {
		echo "<p>No responses received.</p>
		</td></tr></table>
		</body></html>";
		die();
	}
	echo "<p>Total responses received to date (" . date("Y", strtotime($rowResp["MaxDate"])) . "): " . $rowResp["NumResp"] . "</p>";
	$iGrandTotal = $rowResp["NumResp"];
	$iYear = date("Y", strtotime($rowResp["MaxDate"]));
}
$iYearPrev = 0;
if (!empty($GroupID2)) {
	$sql = "SELECT COUNT(*) AS NumResp, MAX(Response_Date) AS MaxDate
FROM AnonRespondees WHERE Questionnaire_ID='" . $Questionnaire_ID . "' 
AND AnonRespondees.GroupID=" . $GroupID2 . "
ORDER BY AnonRespondees.Anon_Respondee_Name";
	// echo $sql;
	$recResp = mysqli_query($conn, $sql);
	if ($rowResp = mysqli_fetch_assoc($recResp)) {
		echo "<p>Total responses received to date (" . date("Y", strtotime($rowResp["MaxDate"])) . "): " . $rowResp["NumResp"] . "</p>";
		$iGrandTotalPrev = $rowResp["NumResp"];
		$iYearPrev = date("Y", strtotime($rowResp["MaxDate"]));
	}
} else {
	$iYear = "";
}

if ($HasScore == 1) {
	$sql = "SELECT MIN(Score) AS MinScore, MAX(Score) As MaxScore, AVG(Score) As AvgScore FROM AnonRespondees WHERE Questionnaire_ID='" . $Questionnaire_ID . "' "
		. "AND AnonRespondees.GroupID=" . $GroupID;
	$recQ = mysqli_query($conn, $sql);
	if ($rowQ = mysqli_fetch_assoc($recQ)) {
		// var_dump($rowQ);
?>
		<table border="0" cellspacing="0" cellpadding="5" width="700" style="page-break-after:always">
			<tr>
				<td colspan="2" bgcolor="#CCCCCC"><b><?php echo htmlspecialchars($Questionnaire_Name); ?></b><br>Overall Scores</td>
			</tr>
			<tr>
				<td style="border:1px solid #cccccc" valign="top">
					<div><b>Lowest Score</b></div>
				</td>
				<td style="border:1px solid #cccccc" valign="top">
					<div><?php echo $rowQ["MinScore"]; ?> (<?php echo number_format($rowQ["MinScore"] / $Score * 100, 1); ?>%)</div>
				</td>
			</tr>
			<tr>
				<td style="border:1px solid #cccccc" valign="top">
					<div><b>Highest Score</b></div>
				</td>
				<td style="border:1px solid #cccccc" valign="top">
					<div><?php echo $rowQ["MaxScore"]; ?> (<?php echo number_format($rowQ["MaxScore"] / $Score * 100, 1); ?>%)</div>
				</td>
			</tr>
			<tr>
				<td style="border:1px solid #cccccc" valign="top">
					<div><b>Average Score</b></div>
				</td>
				<td style="border:1px solid #cccccc" valign="top">
					<div><?php echo number_format($rowQ["AvgScore"], 1); ?> (<?php echo number_format($rowQ["AvgScore"] / $Score * 100, 1); ?>%)</div>
				</td>
			</tr>
		</table>
<?php
	}
}

?>
<?php
$sql = "SELECT Questions.Question_ID, count(*) FROM Questions, Answers WHERE Questions.Questionnaire_ID=" . $Questionnaire_ID . " AND Questions.Question_ID=Answers.Question_ID AND Answers.Answer <> '' AND Answers.Answer IS NOT NULL GROUP BY Questions.Question_ID having count(*)>1";
// echo $sql;
$recS = mysqli_query($conn, $sql);
$arrQIDs = array();
while ($rowS = mysqli_fetch_assoc($recS)) {
	$arrQIDs[] = $rowS["Question_ID"];
}
$MultiChoiceQs = join(",", $arrQIDs);
// echo $MultiChoiceQs;
if (!empty($MultiChoiceQs)) {
	$sql = "SELECT * FROM Sections WHERE Questionnaire_ID='" . $Questionnaire_ID . "' AND Section_ID IN (SELECT Section_ID FROM Questions WHERE Question_ID IN (" . $MultiChoiceQs . ")) ORDER BY Display_Order, Section_ID";
	$recS = mysqli_query($conn, $sql);
	$iNumSteps = mysqli_num_rows($recS);
	$iStep = 1;
	while ($rowS = mysqli_fetch_assoc($recS)) {
		// var_dump($rowS);
		extract($rowS);
?>
		<table border="0" cellspacing="0" cellpadding="5" width="700" style="page-break-after:always">
			<tr>
				<td colspan="2" bgcolor="#CCCCCC"><b><?php echo htmlspecialchars($Section_Name); ?></b></td>
			</tr>
			<?php
			if (!empty($Section_Text)) {
			?>
				<tr>
					<td colspan="2"><?php echo $Section_Text; ?></td>
				</tr>
			<?php
			}
			$sql = "SELECT * FROM Questions WHERE Questionnaire_ID='" . $Questionnaire_ID . "' AND Section_ID='" . $Section_ID . "' "
				. "AND Question_ID IN (" . $MultiChoiceQs . ") ORDER BY Display_Order, Question_ID";
			//	echo $sql;
			$recQ = mysqli_query($conn, $sql);
			$iRow = 0;
			while ($rowQ = mysqli_fetch_assoc($recQ)) {
				extract($rowQ);
				$iRow++;
			?>
				<tr<?php if ($iRow % 3 == 0) echo " style='page-break-after:always'"; ?>>
					<td style="border:1px solid #cccccc; border-width:0px 0px 1px 0px; page-break-inside:avoid" width="400" valign="top">
						<div><b><?php echo htmlspecialchars($Question); ?></b></div>
					<?php
					$sTableHTML = "";
					$sTableHTMLPrev = "";
					$bNumberColumn = true;
					$strXML = "<graph decimalPrecision='0' bgColor='FBFBFB' bgAlpha='100' canvasBgColor='FBFBFB' showCanvasBg='0' canvasBaseColor='FE6E54'>"
						. "<categories><category name='' /></categories>";
					$arrColours = array('AFD8F8', 'F6BD0F', '8BBA00', 'FF8E46', '008E8E', 'D64646', '8E468E', '588526', 'B3AA00', '008ED6', '9D080D', 'A186BE');
					if ($rowQ["IsMulti"] == 1) {
						$sql = "SELECT DISTINCT Respondee_ID, Answer_Text FROM Anon_User_Answers WHERE Questionnaire_ID='" . $Questionnaire_ID . "' "
							. "AND GroupID=" . $GroupID . " AND Question_ID=" . $Question_ID;
						// echo 'Multi: ' . $sql;
						$recB = mysqli_query($conn, $sql);
						$arrAnswers = array();
						$arrBars = array();
						while ($rowB = mysqli_fetch_assoc($recB)) {
							$sql = "SELECT Answer_ID, Answer, BarColour FROM Answers WHERE Answer_ID IN (" . $rowB["Answer_Text"] . ")";
							//echo $sql;
							$recC = mysqli_query($conn, $sql);
							while ($rowC = mysqli_fetch_assoc($recC)) {
								if (isset($arrAnswers[$rowC["Answer"]])) {
									$arrAnswers[$rowC["Answer"]]++;
									if (!empty($rowC["BarColour"])) {
										$arrBars[$rowC["Answer"]] = $rowC["BarColour"];
									} else {
										$arrBars[$rowC["Answer"]] = "";
									}
								} else {
									$arrAnswers[$rowC["Answer"]] = 1;
									$arrBars[$rowC["Answer"]] = "";
								}
							}
							mysqli_free_result($recC);
						}
						mysqli_free_result($recB);
						// var_dump($arrAnswers);
						$iColour = 0;
						foreach ($arrAnswers as $key => $value) {
							$sAnswerGiven = $key;
							if (!empty($arrBars[$sAnswerGiven])) {
								$sBarColour = $arrBars[$sAnswerGiven];
							} else {
								$sBarColour = $arrColours[$iColour];
								$iColour++;
								if ($iColour >= count($arrColours)) $iColour = 0;
							}
							$strXML .= "<dataset seriesname='" . htmlspecialchars(str_replace(array("/", "&", "'"), array("\\", "n", "`"), $sAnswerGiven)) . " " . $iYear . "' color='" . $sBarColour . "'><set value='" . $value . "' /></dataset>";
							$sTableHTML .= "<tr><td>" . nl2br($sAnswerGiven) . "</td>";
							$sTableHTML .= "<td>" . $value . "</td>";
							$sTableHTML .= "<td>" . ($iGrandTotal > 0 ? number_format($value / $iGrandTotal * 100, 1) : "") . "%</td>";
							$sTableHTML .= "</tr>";
						}

						if (!empty($GroupID2)) {
							$sql = "SELECT DISTINCT Respondee_ID, IF(ISNULL(Anon_User_Answers.Answer_Text),'',Anon_User_Answers.Answer_Text) AS Answer_Text FROM Anon_User_Answers WHERE Questionnaire_ID='" . $Questionnaire_ID . "' AND GroupID=" . $GroupID2 . " AND Question_ID=" . $Question_ID;
							//echo $sql;
							$recB = mysqli_query($conn, $sql);
							$arrAnswers = array();
							$arrBars = array();
							while ($rowB = mysqli_fetch_assoc($recB)) {
								$sql = "SELECT Answer_ID, Answer, BarColour FROM Answers WHERE Answer_ID IN (" . $rowB["Answer_Text"] . ")";
								//echo $sql;
								$recC = mysqli_query($conn, $sql);
								while ($rowC = mysqli_fetch_assoc($recC)) {
									if (isset($arrAnswers[$rowC["Answer"]])) {
										$arrAnswers[$rowC["Answer"]]++;
										if (!empty($rowC["BarColour"])) {
											$arrBars[$rowC["Answer"]] = $rowC["BarColour"];
										} else {
											$arrBars[$rowC["Answer"]] = "";
										}
									} else {
										$arrAnswers[$rowC["Answer"]] = 1;
										$arrBars[$rowC["Answer"]] = "";
									}
								}
								mysqli_free_result($recC);
							}
							mysqli_free_result($recB);
							//var_dump($arrAnswers);
							$iColour = 0;
							foreach ($arrAnswers as $key => $value) {
								$sAnswerGiven = $key;
								if (!empty($arrBars[$sAnswerGiven])) {
									$sBarColour = $arrBars[$sAnswerGiven];
								} else {
									$sBarColour = $arrColours[$iColour];
									$iColour++;
									if ($iColour >= count($arrColours)) $iColour = 0;
								}
								$strXML .= "<dataset seriesname='" . htmlspecialchars(str_replace(array("/", "&", "'"), array("\\", "n", "`"), $sAnswerGiven)) . " " . $iYearPrev . "' color='" . $sBarColour . "'><set value='" . $value . "' /></dataset>";
								$sTableHTMLPrev .= "<tr><td>" . nl2br($sAnswerGiven) . "</td>";
								$sTableHTMLPrev .= "<td>" . $value . "</td>";
								$sTableHTMLPrev .= "<td>" . number_format($value / $iGrandTotalPrev * 100, 1) . "%</td>";
								$sTableHTMLPrev .= "</tr>";
							}
						}
					} else {
						$sql = "SELECT COUNT(Anon_User_Answers.Answer_ID) AS Num, Answers.Answer, IF(ISNULL(Answers.Answer) OR (Answers.Answer=''), "
							. "IF(ISNULL(Anon_User_Answers.Answer_Text),'',Anon_User_Answers.Answer_Text),'') AS Answer_Text, BarColour FROM Anon_User_Answers "
							. "RIGHT JOIN Answers ON (Anon_User_Answers.Answer_ID = Answers.Answer_ID AND GroupID=" . $GroupID . ") "
							. "WHERE Questionnaire_ID='" . $Questionnaire_ID . "' AND Answers.Question_ID=" . $Question_ID . " "
							. "GROUP BY Answer, IF(ISNULL(Answers.Answer) OR (Answers.Answer=''),IF(ISNULL(Anon_User_Answers.Answer_Text),'', "
							. "Anon_User_Answers.Answer_Text),'') ORDER BY Answers.Answer_ID, Display_Order, Answer, Answer_Text";
						// echo $sql;
						$recB = mysqli_query($conn, $sql);
						$iColour = 0;
						while ($rowB = mysqli_fetch_assoc($recB)) {
							if (!empty($rowB["Answer"])) {
								$sAnswerGiven = $rowB["Answer"];
							} else {
								$sAnswerGiven = $rowB["Answer_Text"];
							}
							if (!empty($rowB["BarColour"])) {
								$sBarColour = $rowB["BarColour"];
							} else {
								$sBarColour = $arrColours[$iColour];
								$iColour++;
								if ($iColour >= count($arrColours)) $iColour = 0;
							}
							$strXML .= "<dataset seriesname='" . htmlspecialchars(str_replace(array("/", "&", "'"), array("\\", "n", "`"), $sAnswerGiven))
								. " " . $iYear . "' color='" . $sBarColour . "'><set value='" . $rowB["Num"] . "' /></dataset>";
							$sTableHTML .= "<tr><td>" . nl2br($sAnswerGiven) . "</td>";
							if ($rowQ["Answer_Type"] != "a") {
								$sTableHTML .= "<td>" . $rowB["Num"] . "</td>";
								$sTableHTML .= "<td>" . number_format($rowB["Num"] / $iGrandTotal * 100, 1) . "%</td>";
							} else {
								$bNumberColumn = false;
							}
							$sTableHTML .= "</tr>";
						}
						mysqli_free_result($recB);

						if (!empty($GroupID2)) {
							$sql = "SELECT COUNT(Anon_User_Answers.Answer_ID) AS Num, 
Answers.Answer, IF(ISNULL(Answers.Answer) OR (Answers.Answer=''),IF(ISNULL(Anon_User_Answers.Answer_Text),'',Anon_User_Answers.Answer_Text),'') AS Answer_Text, BarColour 
FROM Anon_User_Answers RIGHT JOIN Answers ON (Anon_User_Answers.Answer_ID = Answers.Answer_ID AND GroupID=" . $GroupID2 . ") 
WHERE Questionnaire_ID='" . $Questionnaire_ID . "' AND Answers.Question_ID=" . $Question_ID . " 
GROUP BY Answer, IF(ISNULL(Answers.Answer) OR (Answers.Answer=''),IF(ISNULL(Anon_User_Answers.Answer_Text),'',Anon_User_Answers.Answer_Text),'')";
							//		echo $sql;
							$recB = mysqli_query($conn, $sql);
							$iColour = 0;
							while ($rowB = mysqli_fetch_assoc($recB)) {
								if (!empty($rowB["Answer"])) {
									$sAnswerGiven = $rowB["Answer"];
								} else {
									$sAnswerGiven = $rowB["Answer_Text"];
								}
								if (!empty($rowB["BarColour"])) {
									$sBarColour = $rowB["BarColour"];
								} else {
									$sBarColour = $arrColours[$iColour];
									$iColour++;
									if ($iColour >= count($arrColours)) $iColour = 0;
								}
								$strXML .= "<dataset seriesname='" . htmlspecialchars(str_replace(array("/", "&", "'"), array("\\", "n", "`"), $sAnswerGiven)) . " " . $iYearPrev . "' color='" . $sBarColour . "'><set value='" . $rowB["Num"] . "' /></dataset>";
								$sTableHTMLPrev .= "<tr><td>" . nl2br($sAnswerGiven) . "</td>";
								if ($rowQ["Answer_Type"] != "a") {
									$sTableHTMLPrev .= "<td>" . $rowB["Num"] . "</td>";
									$sTableHTMLPrev .= "<td>" . number_format($rowB["Num"] / $iGrandTotalPrev * 100, 1) . "%</td>";
								} else {
									$bNumberColumn = false;
								}
								$sTableHTMLPrev .= "</tr>";
							}
							mysqli_free_result($recB);
						}
					}
					$strXML .= "</graph>";
					if (!empty($GroupID2)) echo "<p>" . $iYear . "</p>";
					echo "<table border=1 cellpadding=2 cellspacing=0 width=400>" . $sTableHTML . "</table>";
					if (!empty($GroupID2)) echo "<p>" . $iYearPrev . "</p>";
					if (!empty($sTableHTMLPrev)) echo "<table border=1 cellpadding=2 cellspacing=0 width=400>" . $sTableHTMLPrev . "</table>";
					echo "</td><td>&nbsp;</td></tr>";
				}
				mysqli_free_result($recQ);
					?>
		</table>
<?php
		$iStep++;
	}
	mysqli_free_result($recS);
}
?>
</td>
</tr>
</table>
<?php
if ($Questionnaire_ID == 225) {
	// Course evaluations - show the comments
?>
	<p><b>Comments</b></p>
	<?php
	$sql = "SELECT Questions.Question_ID, Questions.Question FROM Questions WHERE Questions.Questionnaire_ID=" . $Questionnaire_ID . " AND Questions.Answer_Type='a' ORDER BY Section_ID, Display_Order";
	// echo $sql;
	$recQ = mysqli_query($conn, $sql);
	while ($rowQ = mysqli_fetch_assoc($recQ)) {
	?>
		<p><?php echo $rowQ["Question"]; ?></p>
		<ul>
			<?php
			$Question_ID = $rowQ["Question_ID"];
			$sql = "SELECT DISTINCT Respondee_ID, Answer_Text FROM Anon_User_Answers WHERE Questionnaire_ID='" . $Questionnaire_ID . "' AND GroupID=" . $GroupID . " AND Question_ID=" . $Question_ID;
			$recA = mysqli_query($conn, $sql);
			while ($rowA = mysqli_fetch_assoc($recA)) {
				echo "<li>" . $rowA["Answer_Text"] . "</li>";
			}
			?>
		</ul>
		<hr>
<?php
	}
}
?>