| Current Path : /var/www/cesa.co.za/cceadmin/ |
| Current File : /var/www/cesa.co.za/cceadmin/reporteval.php |
<?php
session_start(); // Initialize Session data
ob_start(); // Turn on output buffering
?>
<?php include "ewcfg7.php" ?>
<?php include "ewmysql7.php" ?>
<?php include "phpfn7.php" ?>
<?php include "CCEAssignmentsinfo.php" ?>
<?php include "userfn7.php" ?>
<?php
if (!isset($_SESSION[EW_SESSION_STATUS]) || ($_SESSION[EW_SESSION_STATUS] != "login")) {
header("Location: /cceadmin/login.php");
die();
}
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Always modified
header("Cache-Control: private, no-store, no-cache, must-revalidate"); // HTTP/1.1
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache"); // HTTP/1.0
$arrColours = array('AFD8F8', 'F6BD0F', '8BBA00', 'FF8E46', '008E8E', 'D64646', '8E468E', '588526', 'B3AA00', '008ED6', '9D080D', 'A186BE');
?>
<?php include "header.php" ?>
<style>
.TableText {
padding:0; margin:0; font-size:11px;
}
</style>
<?php
$conn = mysqli_connect(EW_CONN_HOST, EW_CONN_USER, EW_CONN_PASS, EW_CONN_DB);
$GroupID = 9;
$Questionnaire_ID = 283;
$sql = "SELECT * FROM Questionnaires WHERE Questionnaire_ID='" . $Questionnaire_ID . "'";
$rec = mysqli_query($conn, $sql);
if ($row = mysqli_fetch_assoc($rec)) {
extract($row);
}
mysqli_free_result($rec);
?>
<h1><?php echo htmlspecialchars($Questionnaire_Name); ?><!-- for <?php echo $CompanyName; ?>--><br>Consolidated Responses</h1>
<p><b><a href="/reportquesdetailed.php?qid=<?php echo $Questionnaire_ID; ?>&id=<?php echo $GroupID; ?>" target="_blank">Click here for the detailed responses</a></b></p>
<?php
$sql = "SELECT COUNT(*) AS NumResp, MAX(Response_Date) AS MaxDate
FROM AnonRespondees WHERE Questionnaire_ID='" . $Questionnaire_ID . "'
AND AnonRespondees.InterimSave=0
AND AnonRespondees.GroupID=" . $GroupID;
// 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>";
$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.InterimSave=0
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(AR2.Score) AS MinScore, MAX(AR2.Score) As MaxScore, AVG(AR2.Score) As AvgScore FROM (
SELECT Anon_Respondee_Email, Unique_ID, MAX(Anon_RespondeeID) AS Anon_RespondeeID FROM AnonRespondees
WHERE Questionnaire_ID='" . $Questionnaire_ID . "'
AND GroupID=" . $GroupID . " AND InterimSave=0
GROUP BY Anon_Respondee_Email, Unique_ID) ARTemp1 JOIN AnonRespondees AR2 USING (Anon_RespondeeID)";
$recQ = mysqli_query($conn, $sql);
if ($rowQ = mysqli_fetch_assoc($recQ)) {
?>
<table border="0" cellspacing="0" cellpadding="5" width="100%">
<tr><td colspan="2" bgcolor="#FBE4D5"><p class="TableText"><?php echo htmlspecialchars($Questionnaire_Name); ?><br>Overall Scores</p></td></tr>
<tr>
<td style="border:1px solid #FBE4D5" valign="top"><p class="TableText">Lowest Score</p></td>
<td style="border:1px solid #FBE4D5" valign="top"><p class="TableText"><?php echo $rowQ["MinScore"]; ?> (<?php echo number_format($rowQ["MinScore"] / $Score * 100, 1); ?>%)</p></td>
</tr>
<tr>
<td style="border:1px solid #FBE4D5" valign="top"><p class="TableText">Highest Score</p></td>
<td style="border:1px solid #FBE4D5" valign="top"><p class="TableText"><?php echo $rowQ["MaxScore"]; ?> (<?php echo number_format($rowQ["MaxScore"] / $Score * 100, 1); ?>%)</p></td>
</tr>
<tr>
<td style="border:1px solid #FBE4D5" valign="top"><p class="TableText">Average Score</p></td>
<td style="border:1px solid #FBE4D5" valign="top"><p class="TableText"><?php echo number_format($rowQ["AvgScore"], 1); ?> (<?php echo number_format($rowQ["AvgScore"] / $Score * 100, 1); ?>%)</p></td>
</tr>
</table>
<?php
}
} elseif (!empty($Score)) {
$sql = "select SUM(Answers.Answer_Score)/COUNT(DISTINCT Anon_User_Answers.`Respondee_ID`) AS AvgScore
FROM Questionnaires JOIN Questions USING (Questionnaire_ID)
JOIN Answers USING (Question_ID)
JOIN Anon_User_Answers ON (Anon_User_Answers.Answer_ID = Answers.Answer_ID)
WHERE Questionnaires.Questionnaire_ID=" . $Questionnaire_ID . " AND GroupID=" . $GroupID;
$recQ = mysqli_query($conn, $sql);
if ($rowQ = mysqli_fetch_assoc($recQ)) {
echo "<p>Average score: " . round($rowQ["AvgScore"], 1) . " out of " . $Score . " (" . round($rowQ["AvgScore"] / $Score * 100, 1) . "%)</p>";
}
}
?>
<table border="0" cellspacing="0" cellpadding="5" width="900">
<?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 . "' ORDER BY Display_Order, Section_ID";
// AND Section_ID IN (SELECT Section_ID FROM Questions WHERE Question_ID IN (".$MultiChoiceQs."))
$recS = mysqli_query($conn, $sql);
$iNumSteps = mysqli_num_rows($recS);
$iStep = 1;
while ($rowS = mysqli_fetch_assoc($recS)) {
extract($rowS);
?>
<tr><td colspan="3" bgcolor="#CCCCCC"><p class="TableText"><b><?php echo $Section_Name; ?></b></p>
<p class="TableText"><?php echo $Section_Text; ?></p></td></tr>
<?php
$sql = "SELECT * FROM Questions WHERE Questionnaire_ID='" . $Questionnaire_ID . "' AND Section_ID='" . $Section_ID . "' ORDER BY Display_Order, Question_ID";
// AND Question_ID IN (".$MultiChoiceQs.")
// echo $sql;
$recQ = mysqli_query($conn, $sql);
$iRow = 0;
while ($rowQ = mysqli_fetch_assoc($recQ)) {
extract($rowQ);
$iRow++;
?>
<tr>
<td colspan="3" style="background-color:#EEEEEE; border:1px solid #CCCCCC; border-width:0px 0px 1px 0px"><p class="TableText"><?php echo $Question; ?></p></td>
</tr>
<?php
$sTableHTML = "";
if (($Answer_Type == "a") || ($Answer_Type == "t")) {
$sTableHTML = "<tr><td colspan='3'><ul>";
$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)) {
$sTableHTML .= "<li class='TableText' style='list-style-type:circle'>" . $rowA["Answer_Text"] . "</li>";
}
$sTableHTML .= "</ul></td></tr>";
} else {
$bNumberColumn = true;
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 $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;
}
$sTableHTML .= "<tr><td><p class='TableText'>" . nl2br($sAnswerGiven) . "</p></td>";
$sTableHTML .= "<td><p class='TableText'>" . $value . "</p></td>";
$sTableHTML .= "<td><p class='TableText'>" . ($iGrandTotal > 0 ? number_format($value / $iGrandTotal * 100, 1) : "") . "%</p></td>";
$sTableHTML .= "</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 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;
}
$sTableHTML .= "<tr><td><p class='TableText'>" . nl2br($sAnswerGiven) . "</p></td>";
if ($rowQ["Answer_Type"] != "a") {
$sTableHTML .= "<td><p class='TableText'>" . $rowB["Num"] . "</p></td>";
$sTableHTML .= "<td><p class='TableText'>" . number_format($rowB["Num"] / $iGrandTotal * 100, 1) . "%</p></td>";
} else {
$bNumberColumn = false;
}
$sTableHTML .= "</tr>";
}
mysqli_free_result($recB);
}
}
echo $sTableHTML;
}
mysqli_free_result($recQ);
$iStep++;
}
mysqli_free_result($recS);
}
?>
</table>
<?php
?>
<?php include "footer.php" ?>