From 75708008648d7b2202d1443b33c19f55a83d523b Mon Sep 17 00:00:00 2001 From: Jason Cleeland Date: Sun, 16 Mar 2003 08:42:07 +0000 Subject: [PATCH] Fixed all passed variables so that they aren't a register_globals issue (at least I'm pretty sure I did). Also added summary facility (still some tidying to do) and question descriptor (click on the question mark for full question text) git-svn-id: file:///Users/Shitiz/Downloads/lssvn/trunk/unstable@43 b72ed6b6-b9f8-46b5-92b4-906544132732 --- admin/statistics.php | 52 ++++++++++++++++++++++++++++++++++++-------- 1 file changed, 43 insertions(+), 9 deletions(-) diff --git a/admin/statistics.php b/admin/statistics.php index c984f5fb25a..77c0706d8f7 100644 --- a/admin/statistics.php +++ b/admin/statistics.php @@ -48,23 +48,26 @@ echo $htmlheader; -if (!$sid) +if (!$_GET['sid'] && !$_GET['sid']) { //need to have a survey id echo "
You have not selected a survey!
"; exit; } +if ($_GET['sid']) {$sid=$_GET['sid'];} +elseif ($_POST['sid']) {$sid=$_POST['sid'];} + echo "
Quick Statistics
\n"; echo $surveyoptions; echo "\n"; echo "\t\n"; // 1: Get list of questions with predefined answers from survey -$query = "SELECT qid, gid, type, title FROM questions WHERE sid='$sid' AND type IN ('5', 'G', 'L', 'O', 'M', 'P', 'Y', 'A', 'B', 'C') ORDER BY gid"; +$query = "SELECT qid, questions.gid, type, title, group_name, question FROM questions, groups WHERE questions.gid=groups.gid AND questions.sid='$sid' AND type IN ('5', 'G', 'L', 'O', 'M', 'P', 'Y', 'A', 'B', 'C') ORDER BY group_name, title"; $result = mysql_query($query) or die("Couldn't do it!
$query
".mysql_error()); while ($row=mysql_fetch_row($result)) { - $filters[]=array("$row[0]", "$row[1]", "$row[2]", "$row[3]"); + $filters[]=array("$row[0]", "$row[1]", "$row[2]", "$row[3]", "$row[4]", strip_tags($row[5])); } // 2: Get answers for each question foreach ($filters as $flt) @@ -76,7 +79,7 @@ echo "\n\t\t\t\t\n\t\t\t
\n"; } echo "\t\t\n"; - echo "\t\tGroup $flt[1]\n\t\t\n"; + echo "\t\tGroup $flt[1]: $flt[4]\n\t\t\n"; echo "\t\t\t\n"; $counter=0; } @@ -84,7 +87,11 @@ if ($counter == 5) {echo "\t\t\t\t\n\t\t\t\t";} if ($flt[2] != "A" && $flt[2] != "B" && $flt[2] != "C") //Have to make an exception for these types! { - echo "\t\t\t\t
$setfont$flt[3]
\n"; + echo "\t\t\t\t
"; + echo "$setfont$flt[3] "; //Heading (Question No) + echo " "; + echo "$flt[5]"; + echo "
\n"; echo "\t\t\t\t\n"; echo "\t\n"; @@ -319,4 +326,31 @@ } echo "
$setfontResults:
\n"; } + +if ($_POST['summary']) + { + //1. Get distinct results for field + $query = "SELECT DISTINCT {$_POST['summary']} FROM survey_$sid ORDER BY {$_POST['summary']}"; + $result=mysql_query($query) or die("Couldn't get distinct results
$query
".mysql_error()); + while ($row=mysql_fetch_row($result)) + { + $fvalues[]=$row[0]; + } + //foreach ($fvalues as $fv) {echo "$fv | ";} //debugging line + echo "
\n\n"; + echo "\t\n"; + foreach ($fvalues as $fv) + { + $query = "SELECT count({$_POST['summary']}) FROM survey_$sid WHERE {$_POST['summary']} = '$fv' AND $sql"; + $result=mysql_query($query) or die ("Couldn't do count of values
$query
".mysql_error()); + while ($row=mysql_fetch_row($result)) + { + if ($fv == "") {$fname="No Answer";} else {$fname=$fv;} + echo "\t\n\t\t\n"; + echo "\t\t\n"; + } + } + + } ?> \ No newline at end of file
$setfontField Summary for {$_POST['summary']}:
$setfont$fname:\n\t\t$setfont$row[0]"; + echo "\t\t