prepare('SELECT DISTINCT(Com_Name), COUNT(*) FROM detections WHERE Date BETWEEN "'.date("Y-m-d",$startdate).'" AND "'.date("Y-m-d",$enddate).'" GROUP By Com_Name ORDER BY COUNT(*) DESC'); if($statement1 == False){ echo "Database is busy"; header("refresh: 0;"); } $result1 = $statement1->execute(); $detections = []; $i = 0; while($detection=$result1->fetchArray(SQLITE3_ASSOC)) { $detections[$detection["Com_Name"]] = $detection["COUNT(*)"]; } echo "# Week ".date('W', $enddate)." Report (".date('F jS, Y',$startdate)." — ".date('F jS, Y',$enddate).")\n"; echo "= Top 10 Species =
"; $i = 0; foreach($detections as $com_name=>$scount) { $i++; if($i <= 10) { $statement2 = $db->prepare('SELECT COUNT(*) FROM detections WHERE Com_Name == "'.$com_name.'" AND Date BETWEEN "'.date("Y-m-d",$startdate - (7*86400)).'" AND "'.date("Y-m-d",$enddate - (7*86400)).'"'); if($statement2 == False){ echo "Database is busy"; header("refresh: 0;"); } $result2 = $statement2->execute(); $totalcount = $result2->fetchArray(SQLITE3_ASSOC); $priorweekcount = $totalcount['COUNT(*)']; $percentagediff = round((1 - $priorweekcount / $scount) * 100); if($percentagediff > 0) { $percentagediff = "+".$percentagediff."%"; } else { $percentagediff = "-".abs($percentagediff)."%"; } echo $com_name." - ".$scount." (".$percentagediff.")
"; } } echo "
= Species Detected for the First Time: =
"; $newspeciescount=0; foreach($detections as $com_name=>$scount) { $statement3 = $db->prepare('SELECT COUNT(*) FROM detections WHERE Com_Name == "'.$com_name.'" AND Date NOT BETWEEN "'.date("Y-m-d",$startdate).'" AND "'.date("Y-m-d",$enddate).'"'); if($statement3 == False){ echo "Database is busy"; header("refresh: 0;"); } $result3 = $statement3->execute(); $totalcount = $result3->fetchArray(SQLITE3_ASSOC); $nonthisweekcount = $totalcount['COUNT(*)']; if($nonthisweekcount == 0) { $newspeciescount++; echo $com_name." - ".$scount."
"; } } if($newspeciescount == 0) { echo "No new species were seen this week."; } die(); } ?>
Week ".date('W', $enddate)." Report".date('F jS, Y',$startdate)." — ".date('F jS, Y',$enddate)."
"; ?>
prepare('SELECT DISTINCT(Com_Name), COUNT(*) FROM detections WHERE Date BETWEEN "'.date("Y-m-d",$startdate).'" AND "'.date("Y-m-d",$enddate).'" GROUP By Com_Name ORDER BY COUNT(*) DESC'); } else { $statement1 = $db->prepare('SELECT DISTINCT(Com_Name), COUNT(*) FROM detections WHERE Date BETWEEN "'.date("Y-m-d",$startdate).'" AND "'.date("Y-m-d",$enddate).'" GROUP By Com_Name ORDER BY COUNT(*) ASC'); } if($statement1 == False){ echo "Database is busy"; header("refresh: 0;"); } $result1 = $statement1->execute(); $detections = []; $i = 0; while($detection=$result1->fetchArray(SQLITE3_ASSOC)) { if($debug == true){ if($i > 10) { break; } } $i++; $detections[$detection["Com_Name"]] = $detection["COUNT(*)"]; } ?>
$scount) { $i++; if($i <= 10) { $statement2 = $db->prepare('SELECT COUNT(*) FROM detections WHERE Com_Name == "'.$com_name.'" AND Date BETWEEN "'.date("Y-m-d",$startdate - (7*86400)).'" AND "'.date("Y-m-d",$enddate - (7*86400)).'"'); if($statement2 == False){ echo "Database is busy"; header("refresh: 0;"); } $result2 = $statement2->execute(); $totalcount = $result2->fetchArray(SQLITE3_ASSOC); $priorweekcount = $totalcount['COUNT(*)']; $percentagediff = round((1 - $priorweekcount / $scount) * 100); if($percentagediff > 0) { $percentagediff = "+".$percentagediff."%"; } else { $percentagediff = "-".abs($percentagediff)."%"; } echo ""; } } ?>
"; ?>
".$com_name."
".$scount." (".$percentagediff.")
$scount) { $statement3 = $db->prepare('SELECT COUNT(*) FROM detections WHERE Com_Name == "'.$com_name.'" AND Date NOT BETWEEN "'.date("Y-m-d",$startdate).'" AND "'.date("Y-m-d",$enddate).'"'); if($statement3 == False){ echo "Database is busy"; header("refresh: 0;"); } $result3 = $statement3->execute(); $totalcount = $result3->fetchArray(SQLITE3_ASSOC); $nonthisweekcount = $totalcount['COUNT(*)']; if($nonthisweekcount == 0) { $newspeciescount++; echo ""; } } if($newspeciescount == 0) { echo ""; } ?>
"; ?>
".$com_name."
".$scount."
No new species were seen this week.

* percentages are calculated relative to week