Feat : sort species by max confidence (#198)

* Add sort by occurence button

* sort_conf icon

* Optimized svg
This commit is contained in:
Alexandre
2024-09-30 20:50:59 +02:00
committed by GitHub
parent 17576c6a12
commit 96df8e781d
2 changed files with 69 additions and 2 deletions
+17 -2
View File
@@ -138,6 +138,8 @@ if(isset($_GET['bydate'])){
$_SESSION['date'] = $date;
if(isset($_GET['sort']) && $_GET['sort'] == "occurrences") {
$statement = $db->prepare("SELECT DISTINCT(Com_Name) FROM detections WHERE Date == \"$date\" GROUP BY Com_Name ORDER BY COUNT(*) DESC");
} elseif(isset($_GET['sort']) && $_GET['sort'] == "confidence") {
$statement = $db->prepare("SELECT Com_Name, Sci_Name, MAX(Confidence) as MaxConfidence FROM detections WHERE Date == \"$date\" GROUP BY Com_Name ORDER BY MaxConfidence DESC");
} else {
$statement = $db->prepare("SELECT DISTINCT(Com_Name) FROM detections WHERE Date == \"$date\" ORDER BY Com_Name");
}
@@ -149,6 +151,8 @@ if(isset($_GET['bydate'])){
} elseif(isset($_GET['byspecies'])) {
if(isset($_GET['sort']) && $_GET['sort'] == "occurrences") {
$statement = $db->prepare('SELECT DISTINCT(Com_Name) FROM detections GROUP BY Com_Name ORDER BY COUNT(*) DESC');
} elseif(isset($_GET['sort']) && $_GET['sort'] == "confidence") {
$statement = $db->prepare('SELECT Com_Name, Sci_Name, MAX(Confidence) as MaxConfidence FROM detections GROUP BY Com_Name ORDER BY MaxConfidence DESC');
} else {
$statement = $db->prepare('SELECT DISTINCT(Com_Name) FROM detections ORDER BY Com_Name ASC');
}
@@ -410,6 +414,9 @@ if(!isset($_GET['species']) && !isset($_GET['filename'])){
<button <?php if(isset($_GET['sort']) && $_GET['sort'] == "occurrences"){ echo "class='sortbutton active'";} else { echo "class='sortbutton'"; }?> type="submit" name="sort" value="occurrences">
<img src="images/sort_occ.svg" title="Sort by occurrences" alt="Sort by occurrences">
</button>
<button <?php if(isset($_GET['sort']) && $_GET['sort'] == "confidence"){ echo "class='sortbutton active'";} else { echo "class='sortbutton'"; }?> type="submit" name="sort" value="confidence">
<img src="images/sort_conf.svg" title="Sort by confidence" alt="Sort by confidence">
</button>
</form>
</div>
<br>
@@ -429,10 +436,14 @@ if(!isset($_GET['species']) && !isset($_GET['filename'])){
#By Species
} elseif($view == "byspecies") {
$birds = array();
$confidence = array();
while($results=$result->fetchArray(SQLITE3_ASSOC))
{
$name = $results['Com_Name'];
$birds[] = $name;
if ($_GET['sort'] == "confidence") {
$confidence[] = ' (' . round($results['MaxConfidence'] * 100) . '%)';
}
}
if(count($birds) > 45) {
@@ -451,7 +462,7 @@ if(!isset($_GET['species']) && !isset($_GET['filename'])){
if ($index < count($birds)) {
?>
<td class="spec">
<button type="submit" name="species" value="<?php echo $birds[$index];?>"><?php echo $birds[$index];?></button>
<button type="submit" name="species" value="<?php echo $birds[$index];?>"><?php echo $birds[$index].$confidence[$index];?></button>
</td>
<?php
} else {
@@ -463,12 +474,16 @@ if(!isset($_GET['species']) && !isset($_GET['filename'])){
}
} elseif($view == "date") {
$birds = array();
$confidence = array();
while($results=$result->fetchArray(SQLITE3_ASSOC))
{
$name = $results['Com_Name'];
$dir_name = str_replace("'", '', $name);
if(realpath($home."/BirdSongs/Extracted/By_Date/".$date."/".str_replace(" ", "_", $dir_name)) !== false){
$birds[] = $name;
if ($_GET['sort'] == "confidence") {
$confidence[] = ' (' . round($results['MaxConfidence'] * 100) . '%)';
}
}
}
@@ -488,7 +503,7 @@ for ($row = 0; $row < $num_rows; $row++) {
if ($index < count($birds)) {
?>
<td class="spec">
<button type="submit" name="species" value="<?php echo $birds[$index];?>"><?php echo $birds[$index];?></button>
<button type="submit" name="species" value="<?php echo $birds[$index];?>"><?php echo $birds[$index].$confidence[$index];?></button>
</td>
<?php
} else {