0) { foreach ($checkgroup as $key => $element) if ($element==-1) $query0 .= $key . " as '" . $alias[$key] . "' " . ", "; //don't put a '#' at the beginning of the alias, else SortBy won't work anymore $query0 .= " COUNT(*) as 'NumRuns', "; $query0 .= " Round(Sum(TimeDiff(fRunStop,fRunStart))/60./60.,1) as 'Time [h]' "; } else { $query0 .= " Concat(fRunNumber,'_', LPAD(fFileNumber, 3, 0)) as 'Run' "; foreach ($_GET as $key => $element) if ($_GET[$key]=="On") if ($key!="fComments") if (empty($checkwhere[$key]) || $checkwhere[$key]==0) $query0 .= ", " . $key . " as '" . $alias[$key] . "' "; if (!empty($_GET["fComments"])) { $query0 .= ", if (Count(fComment)>0, Concat('', Count(fComment), ''), ' ') "; //$query0 .= ", if (Count(fComment)>0, Concat('', Count(fComment), ''), ' ') "; $query0 .= " as 'Comments'"; } } $query0 .= " FROM " . $fromtable; foreach ($_GET as $key => $element) if (($_GET[$key]=="On" || $groups>0))// && !empty($joins[$key])) $query0 .= GetJoin($fromtable, $key); $query0 .= " LEFT JOIN RunComments USING (fRunNumber, fFileNumber) "; foreach ($checkwhere as $key => $element) { if (empty($element) || $element<=0) continue; if (strpos($query0, " WHERE ")==FALSE) $query0 .= " WHERE "; else if ($element!=-1) if (strrpos($query0, " AND ")!=strlen($query0)-5)// this if clause doesn't work $query0 .= " AND "; if ($element!=-1) $query0 .= GetCheck($fromtable, $key) . "=" . $element; } if (strpos($query0, " WHERE ")==FALSE) $query0 .= " WHERE "; else $query0 .= " AND "; if (!empty($_GET["fStartDate"])) { $startdate=substr($_GET["fStartDate"], 0, 10); if ($startdate=="0000-00-00") $query0 .=" fRunNumber >= " . $startdate . " "; else $query0 .= " fRunNumber >= " . $startdate . " - 1 "; } if (!empty($_GET["fStopDate"])) { // if (strpos(strrev($query0), " DNA ")!=0) // $query0 .= " AND "; $stopdate=substr($_GET["fStopDate"], 0, 10); $query0 .= " AND fRunNumber <= " . $stopdate . " "; } if ($groups>0) { $query0 .= " GROUP BY "; $num = $groups; foreach ($checkgroup as $key => $element) if ($element==-1) { $query0 .= GetCheck($fromtable, $key); if ($num-->1) $query0 .= ", "; } } else $query0 .= " GROUP BY fRunNumber, fFileNumber "; if (!empty($_GET["fSortBy"])) { $query0 .= " ORDER BY " . substr($_GET["fSortBy"], 0, -1) . " "; if (substr($_GET["fSortBy"], -1)=="-") $query0 .= "DESC"; } else if ($groups==0) $query0 .= " ORDER BY Run DESC"; if (empty($_GET["fNumStart"])) $_GET["fNumStart"]=0; if (empty($_GET["fSendTxt"])) $query0 .= " LIMIT " . $_GET["fNumStart"] . ", " . $_GET["fNumResults"]; return $query0; } function InitGet($_GET) { // Find out whether it is the first call to the php script $first = empty($_GET["fStartDate"]) && empty($_GET["fStopDate"]); if (empty($_GET["fNumResults"])) $_GET["fNumResults"]="20"; if (empty($_GET["fNumEvents"])) $_GET["fNumEvents"]=$first?"Off":""; if (empty($_GET["fComments"])) $_GET["fComments"]=$first?"On":""; if (empty($_GET["fNumPhysicsTrigger"])) $_GET["fNumPhysicsTrigger"]=$first?"On":""; if (empty($_GET["Round(fNumPhysicsTrigger/Time_to_sec(TimeDiff(fRunStop,fRunStart)),1)"])) $_GET["Round(fNumPhysicsTrigger/Time_to_sec(TimeDiff(fRunStop,fRunStart)),1)"]=$first?"On":""; if (empty($_GET["fNumPedestalTrigger"])) $_GET["fNumPedestalTrigger"]=$first?"On":""; if (empty($_GET["fNumELPTrigger"])) $_GET["fNumELPTrigger"]=$first?"On":""; if (empty($_GET["fNumTimeTrigger"])) $_GET["fNumTimeTrigger"]=$first?"Off":""; if (empty($_GET["fNumExt1Trigger"])) $_GET["fNumExt1Trigger"]=$first?"Off":""; if (empty($_GET["fNumExt2Trigger"])) $_GET["fNumExt2Trigger"]=$first?"Off":""; if (empty($_GET["fNumILPTrigger"])) $_GET["fNumILPTrigger"]=$first?"Off":""; if (empty($_GET["fNumOtherTrigger"])) $_GET["fNumOtherTrigger"]=$first?"Off":""; if (empty($_GET["TimeDiff(fRunStop,fRunStart)"])) $_GET["TimeDiff(fRunStop,fRunStart)"]=$first?"On":""; if (empty($_GET["fRunStart"])) $_GET["fRunStart"]=$first?"On":""; if (empty($_GET["fRunStop"])) $_GET["fRunStop"]=$first?"Off":""; if (empty($_GET["fROI"])) $_GET["fROI"]=$first?"On":""; if (empty($_GET["fROITimeMarker"])) $_GET["fROITimeMarker"]=$first?"Off":""; if (empty($_GET["fFitsFileErrors"])) $_GET["fFitsFileErrors"]=$first?"Off":""; if (empty($_GET["fHasDrsFile"])) $_GET["fHasDrsFile"]=$first?"Off":""; if (empty($_GET["fMd5sumRaw"])) $_GET["fMd5sumRaw"]=$first?"Off":""; if (empty($_GET["fMd5sumRawZip"])) $_GET["fMd5sumRawZip"]=$first?"Off":""; if (empty($_GET["fRunTypeName"])) $_GET["fRunTypeName"]=$first?"On":""; if (empty($_GET["fTriggerRateMedian"])) $_GET["fTriggerRateMedian"]=$first?"Off":""; if (empty($_GET["fThresholdMedian"])) $_GET["fThresholdMedian"]=$first?"Off":""; if (empty($_GET["fBiasVoltageMedian"])) $_GET["fBiasVoltageMedian"]=$first?"Off":""; if (empty($_GET["fRightAscension"])) $_GET["fRightAscension"]=$first?"Off":""; if (empty($_GET["fDeclination"])) $_GET["fDeclination"]=$first?"Off":""; } function PrintForm($_GET, $host, $user, $pw, $db) { printf("