From 528e78da07a1eaf9ed2607215e3187178f04f360 Mon Sep 17 00:00:00 2001 From: Jason Cleeland Date: Sat, 27 Nov 2004 09:46:47 +0000 Subject: [PATCH] Finished "sqlbuilder" feature which allows building straight sql queries for searching results, and provides reference information for fieldnames and answer codes. git-svn-id: file:///Users/Shitiz/Downloads/lssvn/trunk/unstable@1269 b72ed6b6-b9f8-46b5-92b4-906544132732 --- admin/statistics.php | 72 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 70 insertions(+), 2 deletions(-) diff --git a/admin/statistics.php b/admin/statistics.php index 3d5ef7b3250..ed1c4c01320 100644 --- a/admin/statistics.php +++ b/admin/statistics.php @@ -643,6 +643,53 @@ function show(element) { { $selectlist .= "\n"; + //create a select list of all the possible answers to this question + switch($field['type']) + { + case "S": + case "T": + case "U": + case "N": + //text type - don't do anything + break; + case "G": + $thisselect="\n"; + $answerselects[]=$thisselect; + $asnames[]=$field['fieldname']; + break; + case "Y": + $thisselect="\n"; + $answerselects[]=$thisselect; + $asnames[]=$field['fieldname']; + break; + case "M": + //multiple choise - yes or nothing + $thisselect="\n"; + $answerselects[]=$thisselect; + $asnames[]=$field['fieldname']; + break; + case "L": + //list - show possible answers + $query = "SELECT * FROM {$dbprefix}answers WHERE qid={$field['qid']}"; + $result = mysql_query($query); + $thisselect="\n"; + $answerselects[]=$thisselect; + $asnames[]=$field['fieldname']; + break; + } // switch } echo "\n" @@ -659,7 +706,12 @@ function show(element) { @@ -674,10 +726,19 @@ function displayvalue(value) { Field Name:
+ + Answers:
\n"; +foreach ($answerselects as $as) {echo "$as\n";} +if (!isset($_POST['sql'])) + { + $_POST['sql']="SELECT *\nFROM survey_$sid\n"; + } +echo " +
"._SQL.":
- + @@ -814,6 +875,12 @@ function displayvalue(value) { $query .= " WHERE "; $query .= implode(" AND ", $selects); } + elseif (isset($_POST['sql'])) + { + $newsql=substr($_POST['sql'], strpos($_POST['sql'], "WHERE")+5, strlen($_POST['sql'])); + //$query = $_POST['sql']; + $query .= " WHERE".$newsql; + } $result=mysql_query($query) or die("Couldn't get results
$query
".mysql_error()); while ($row=mysql_fetch_row($result)) {$results=$row[0];} @@ -836,6 +903,7 @@ function displayvalue(value) { ."\t\t"._SQL.": $query\n" ."\t\n"; if (isset ($selects) && $selects) {$sql=implode(" AND ", $selects);} + elseif ($newsql) {$sql = $newsql;} if (!isset($sql) || !$sql) {$sql="NULL";} if ($results > 0) {