source: tags/Mars-V0.9.5.1/datacenter/db/querystar.php

Last change on this file was 7546, checked in by Daniela Dorner, 19 years ago
*** empty log message ***
  • Property svn:executable set to *
File size: 6.6 KB
Line 
1<?php
2{
3 function CreateQuery($_GET, $alias, $checkwhere)
4 {
5 $query0 = "SELECT fSequenceFirst as 'Sequence#' ";
6
7 foreach ($_GET as $key => $element)
8 if ($_GET[$key]=="On")
9 if (empty($checkwhere[$key]) || $checkwhere[$key]==0)
10 $query0 .= ", " . $key . " as '" . $alias[$key] . "' ";
11
12 $query0 .= " FROM Star ";
13
14 if (strpos($query0, " WHERE ")==FALSE)
15 $query0 .= " WHERE ";
16 else
17 $query0 .= " AND ";
18
19 $query0 .= "fSequenceFirst BETWEEN " . $_GET["fRunMin"] . " AND " . $_GET["fRunMax"] . " ";
20
21 if (!empty($_GET["fSortBy"]))
22 {
23 $query0 .= " ORDER BY " . substr($_GET["fSortBy"], 0, -1) . " ";
24 if (substr($_GET["fSortBy"], -1)=="-")
25 $query0 .= "DESC";
26 }
27
28 if (empty($_GET["fNumStart"]))
29 $_GET["fNumStart"]=0;
30
31 if (empty($_GET["fSendTxt"]))
32 $query0 .= " LIMIT " . $_GET["fNumStart"] . ", " . $_GET["fNumResults"];
33
34 return $query0;
35 }
36
37 function InitGet($_GET)
38 {
39 // Find out whether it is the first call to the php script
40 $first = empty($_GET["fRunMin"]) && empty($_GET["fRunMax"]);
41
42 if (empty($_GET["fNumResults"]))
43 $_GET["fNumResults"]="20";
44
45 if (empty($_GET["fLastUpdate"]))
46 $_GET["fLastUpdate"]="Off";
47
48 if (empty($_GET["fMeanNumberIslands"]))
49 $_GET["fMeanNumberIslands"]=$first?"On":"";
50
51 if (empty($_GET["fPSF"]))
52 $_GET["fPSF"]=$first?"On":"";
53
54 if (empty($_GET["fRatio"]))
55 $_GET["fRatio"]=$first?"On":"";
56
57 if (empty($_GET["fMuonNumber"]))
58 $_GET["fMuonNumber"]=$first?"On":"";
59
60 if (empty($_GET["fEffOnTime"]))
61 $_GET["fEffOnTime"]=$first?"On":"";
62
63 if (empty($_GET["fMuonRate"]))
64 $_GET["fMuonRate"]=$first?"On":"";
65
66 if (empty($_GET["fInhomogeneity"]))
67 $_GET["fInhomogeneity"]=$first?"On":"";
68
69 if (empty($_GET["fDataRate"]))
70 $_GET["fDataRate"]=$first?"On":"";
71
72 if (empty($_GET["fMaxHumidity"]))
73 $_GET["fMaxHumidity"]=$first?"On":"";
74
75 }
76
77 function PrintForm($_GET, $host, $user, $pw, $db)
78 {
79 printf("<center>\n");
80 printf("<form action=\"querystar.php\" METHOD=\"GET\">\n");
81 printf(" <table>\n");
82 printf(" <tr>\n");
83
84 CheckBox("fMeanNumberIslands", "MeanNumIslands");
85 CheckBox("fPSF", "PSF");
86 CheckBox("fRatio", "Ratio");
87
88 printf(" </tr><tr>\n");
89
90 CheckBox("fMuonRate", "MuonRate");
91 CheckBox("fMuonNumber", "MuonNumber");
92 CheckBox("fEffOnTime", "EffOnTime");
93
94 printf(" </tr><tr>\n");
95
96 CheckBox("fMaxHumidity", "MaxHumidity");
97 CheckBox("fDataRate", "CleanedEvtRate");
98 CheckBox("fInhomogeneity", "Inhomogeneity");
99
100 printf(" </tr>\n");
101 printf(" </table>\n");
102 printf(" <p>\n");
103
104 if (empty($_GET["fRunMin"]))
105 $min = GetMin("fSequenceFirst", "Sequences", $host, $user, $pw, $db);
106 else
107 $min = $_GET["fRunMin"];
108
109 if (empty($_GET["fRunMax"]))
110 $max = GetMax("fSequenceFirst", "Sequences", $host, $user, $pw, $db);
111 else
112 $max = $_GET["fRunMax"];
113
114
115 printf("Sequences&nbsp;from&nbsp;<input name=\"fRunMin\" type=\"text\" size=\"6\" maxlength=\"6\" value=\"%s\">\n", $min);
116 printf("to&nbsp;<input name=\"fRunMax\" type=\"text\" size=\"6\" maxlength=\"6\" value=\"%s\">&nbsp;&nbsp;&nbsp;\n", $max);
117
118 printf(" <P>\n");
119
120 printf(" Results:\n");
121 printf(" <select name=\"fNumResults\">\n");
122
123 $numres = array("10", "20", "50", "100", "200", "500");
124 foreach ($numres as $element)
125 {
126 if ($element==$_GET["fNumResults"])
127 printf("<option value=\"%s\" selected>%3s</option>\n", $element, $element);
128 else
129 printf("<option value=\"%s\">%3s</option>\n", $element, $element);
130 }
131 printf(" </select>\n");
132 printf(" &nbsp;&nbsp;&nbsp;\n");
133
134 ini_set("mysql.trace_mode", "Off");
135 ini_set("display_errors", "Off");
136
137 printf("<input class='Width' type='submit' value='Query Table'>&nbsp;&nbsp;&nbsp;\n");
138 printf("<input class='Width' type='button' value='Reset' onClick='self.location.href=\"querystar.php\"'>&nbsp;&nbsp;&nbsp;\n");
139 if (strchr($_SERVER["REQUEST_URI"], '?')!=FALSE)
140 printf("<input class='Width' type='button' value='Get .txt' onClick='self.location.href=\"%s&fSendTxt=1\"'>&nbsp;&nbsp;&nbsp;\n", $_SERVER["REQUEST_URI"]);
141 printf("</form>\n");
142 printf("</center>\n");
143 printf("</td>\n");
144 printf("</tr>\n");
145 printf("<tr class='Block'>\n");
146 printf("<td>\n");
147 }
148
149 function PrintPage($html, $host, $user, $pw, $db, $alias, $rightalign, $checkwhere)
150 {
151 $db_id = mysql_connect($host, $user, $pw);
152 if ($db_id==FALSE)
153 {
154 printf("mysql_connect returned the following error: %s\n", mysql_error());
155 die("");
156 }
157 mysql_select_db($db);
158
159 $query0 = CreateQuery($_GET, $alias, $checkwhere);
160
161 $result0 = mysql_query($query0, $db_id);
162
163 if ($result0)
164 {
165 if ($html=="1")
166 PrintMagicTable($result0, $alias, $rightalign, "", "", $_GET);
167 else
168 PrintText($result0);
169
170 mysql_free_result($result0);
171 }
172 mysql_close($db_id);
173
174 if ($html=="1")
175 printf("<U><B>submitted query:</B></U><BR>%s<BR>", htmlspecialchars($query0));
176 }
177
178 include ("include.php");
179 include ("db.php");
180 include ("magicdefs.php");
181
182 ini_set("display_errors", "On");
183 ini_set("mysql.trace_mode", "On");
184
185 if (!empty($_GET["fSendTxt"]))
186 {
187 header("Content-type: application/octet");
188 header("Content-Disposition: attachment; filename=query-result.txt");
189
190 PrintPage("0", $host, $user, $pw, $db, $alias, $rightalign, $checkwhere);
191 }
192 else
193 {
194 echo (file_get_contents("index-header.html"));
195
196 $environment = sizeof($_GET);
197
198 InitGet($_GET);
199 PrintForm($_GET, $host, $user, $pw, $db);
200
201 if ($environment==0)
202 printf("No query submitted yet.<BR>");
203 else
204 PrintPage("1", $host, $user, $pw, $db, $alias, $rightalign, $checkwhere);
205
206 echo (file_get_contents("index-footer.html"));
207 }
208
209 ini_set("display_errors", "Off");
210 ini_set("mysql.trace_mode", "Off");
211}
212?>
Note: See TracBrowser for help on using the repository browser.