mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
Merge pull request #865 from int2001/tune_sat_records
Tweak distance-records (filter by station at join as well)
This commit is contained in:
@@ -31,6 +31,7 @@ class Distancerecords_model extends CI_Model {
|
||||
LEFT JOIN (
|
||||
SELECT *, ROW_NUMBER() OVER (PARTITION BY COL_SAT_NAME, COL_DISTANCE ORDER BY COL_TIME_ON asc) AS rn
|
||||
FROM '.$this->config->item('table_name').'
|
||||
WHERE station_id IN ('.implode(', ', $logbooks_locations_array).')
|
||||
) t2
|
||||
ON t1.sat = t2.COL_SAT_NAME
|
||||
AND t1.distance = t2.COL_DISTANCE
|
||||
@@ -58,17 +59,20 @@ class Distancerecords_model extends CI_Model {
|
||||
ORDER BY distance DESC;';
|
||||
$query = $this->db->query($sql);
|
||||
|
||||
$result = array();
|
||||
$result = array();
|
||||
|
||||
// With that query for oldest QSO per sat and distance
|
||||
foreach ($query->result() as $row) {
|
||||
$bindings=[];
|
||||
$subsql = 'SELECT COL_SAT_NAME AS sat, COL_TIME_ON as time, COL_CALL as callsign, COL_GRIDSQUARE as grid, COL_MODE AS mode, COL_PRIMARY_KEY as primarykey
|
||||
FROM '.$this->config->item('table_name').'
|
||||
WHERE station_id IN ('.implode(', ', $logbooks_locations_array).')
|
||||
AND COL_SAT_NAME = "'.$row->sat.'"
|
||||
AND COL_DISTANCE = '.$row->distance.'
|
||||
AND COL_SAT_NAME = ?
|
||||
AND COL_DISTANCE = ?
|
||||
ORDER BY COL_TIME_ON ASC LIMIT 1;';
|
||||
$subquery = $this->db->query($subsql);
|
||||
$bindings[]=$row->sat;
|
||||
$bindings[]=$row->distance;
|
||||
$subquery = $this->db->query($subsql, $bindings);
|
||||
$subrow = $subquery->row();
|
||||
array_push($result, (object) ["sat" => $row->sat, "distance" => $row->distance, "time" => $subrow->time, "primarykey" => $subrow->primarykey, "callsign" => $subrow->callsign, "mode" => $subrow->mode, "grid" => $subrow->grid]);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user