Skip to content

Commit

Permalink
Finished "sqlbuilder" feature which allows building straight sql quer…
Browse files Browse the repository at this point in the history
…ies 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
  • Loading branch information
jcleeland committed Nov 27, 2004
1 parent cef6be1 commit 528e78d
Showing 1 changed file with 70 additions and 2 deletions.
72 changes: 70 additions & 2 deletions admin/statistics.php
Expand Up @@ -643,6 +643,53 @@ function show(element) {
{
$selectlist .= "<option value='".$field['fieldname']."'>"
.$field['title'].": ".$field['question']."</option>\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="<div id='{$field['fieldname']}' style='display:none'><select size='10' style='font-size: 8.5px'>\n";
$thisselect .= "<option value='F'>[F] "._FEMALE."</option>\n";
$thisselect .= "<option value='Y'>[M] "._MALE."</option>\n";
$thisselect .= "</select></div>\n";
$answerselects[]=$thisselect;
$asnames[]=$field['fieldname'];
break;
case "Y":
$thisselect="<div id='{$field['fieldname']}' style='display:none'><select size='10' style='font-size: 8.5px'>\n";
$thisselect .= "<option value='Y'>[Y] "._YES."</option>\n";
$thisselect .= "<option value='N'>[N] "._NO."</option>\n";
$thisselect .= "</select></div>\n";
$answerselects[]=$thisselect;
$asnames[]=$field['fieldname'];
break;
case "M":
//multiple choise - yes or nothing
$thisselect="<div id='{$field['fieldname']}' style='display:none'><select size='10' style='font-size: 8.5px'>\n";
$thisselect .= "<option value='Y'>[Y] "._YES."</option>\n";
$thisselect .= "</select></div>\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="<div id='{$field['fieldname']}' style='display:none'><select size='10' style='font-size: 8.5px'>\n";
while($row = mysql_fetch_array($result))
{
$thisselect .= "<option value='".$row['code']."'>[".$row['code']."] ".$row['answer']."</option>\n";
} // while
$thisselect .= "</select></div>\n";
$answerselects[]=$thisselect;
$asnames[]=$field['fieldname'];
break;
} // switch
}

echo "</table>\n"
Expand All @@ -659,7 +706,12 @@ function show(element) {
<script type='text/javascript'>
<!--
function displayvalue(value) {
document.getElementById('fieldnametext').value=value;
document.getElementById('fieldnametext').value=value;\n";
foreach ($asnames as $as)
{
echo " document.getElementById('$as').style.display='none';\n";
}
echo " document.getElementById(value).style.display='';
}
//-->
</script>
Expand All @@ -674,10 +726,19 @@ function displayvalue(value) {
Field Name:<br /><input type='text' id='fieldnametext' size='50'>
</td>
</tr>
<tr>
<td align='center'>Answers:<br />\n";
foreach ($answerselects as $as) {echo "$as\n";}
if (!isset($_POST['sql']))
{
$_POST['sql']="SELECT *\nFROM survey_$sid\n";
}
echo " </td>
</tr>
<tr>
<td align='center'><br />
"._SQL.":<br />
<textarea name='sql' cols='60' rows='10'>SELECT *\nFROM survey_$sid\n</textarea>
<textarea name='sql' cols='60' rows='10'>".$_POST['sql']."</textarea>
</td>
</tr>
<tr>
Expand Down Expand Up @@ -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<br />$query<br />".mysql_error());
while ($row=mysql_fetch_row($result)) {$results=$row[0];}

Expand All @@ -836,6 +903,7 @@ function displayvalue(value) {
."\t\t<font size='1'><b>"._SQL.":</b> $query\n"
."\t</td></tr>\n";
if (isset ($selects) && $selects) {$sql=implode(" AND ", $selects);}
elseif ($newsql) {$sql = $newsql;}
if (!isset($sql) || !$sql) {$sql="NULL";}
if ($results > 0)
{
Expand Down

0 comments on commit 528e78d

Please sign in to comment.