Refactor SQL query to include last 500 QSOs

这个提交包含在:
phl0 2022-02-28 10:30:51 +01:00
父节点 72400c8908
当前提交 82cd15bc07
找不到此签名对应的密钥
GPG 密钥 ID: 48EA1E640798CA9A

查看文件

@ -308,56 +308,28 @@ class Logbook_model extends CI_Model {
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
$this->db->select('COL_CALL');
$this->db->distinct();
$this->db->select('ANY_VALUE(`COL_TIME_ON`) AS `COL_TIME_ON`');
$this->db->select('ANY_VALUE(`COL_PRIMARY_KEY`) AS `COL_PRIMARY_KEY`');
$this->db->select('ANY_VALUE(`COL_BAND`) AS `COL_BAND`');
$this->db->select('ANY_VALUE(`COL_SAT_NAME`) AS `COL_SAT_NAME`');
$this->db->select('ANY_VALUE(`COL_MODE`) AS `COL_MODE`');
$this->db->select('ANY_VALUE(`COL_SUBMODE`) AS `COL_SUBMODE`');
$this->db->select('ANY_VALUE(`COL_RST_SENT`) AS `COL_RST_SENT`');
$this->db->select('ANY_VALUE(`COL_RST_RCVD`) AS `COL_RST_RCVD`');
$this->db->select('ANY_VALUE(`COL_STX`) AS `COL_STX`');
$this->db->select('ANY_VALUE(`COL_SRX`) AS `COL_SRX`');
$this->db->select('ANY_VALUE(`COL_STX_STRING`) AS `COL_STX_STRING`');
$this->db->select('ANY_VALUE(`COL_SRX_STRING`) AS `COL_SRX_STRING`');
$this->db->select('ANY_VALUE(`COL_COUNTRY`) AS `COL_COUNTRY`');
$this->db->select('ANY_VALUE(`COL_QSL_SENT`) AS `COL_QSL_SENT`');
$this->db->select('ANY_VALUE(`COL_QSL_SENT_VIA`) AS `COL_QSL_SENT_VIA`');
$this->db->select('ANY_VALUE(`COL_QSLSDATE`) AS `COL_QSLSDATE`');
$this->db->select('ANY_VALUE(`COL_QSL_RCVD`) AS `COL_QSL_RCVD`');
$this->db->select('ANY_VALUE(`COL_QSL_RCVD_VIA`) AS `COL_QSL_RCVD_VIA`');
$this->db->select('ANY_VALUE(`COL_QSLRDATE`) AS `COL_QSLRDATE`');
$this->db->select('ANY_VALUE(`COL_EQSL_QSL_SENT`) AS `COL_EQSL_QSL_SENT`');
$this->db->select('ANY_VALUE(`COL_EQSL_QSLSDATE`) AS `COL_EQSL_QSLSDATE`');
$this->db->select('ANY_VALUE(`COL_EQSL_QSL_RCVD`) AS `COL_EQSL_QSL_RCVD`');
$this->db->select('ANY_VALUE(`COL_EQSL_QSLRDATE`) AS `COL_EQSL_QSLRDATE`');
$this->db->select('ANY_VALUE(`COL_LOTW_QSL_SENT`) AS `COL_LOTW_QSL_SENT`');
$this->db->select('ANY_VALUE(`COL_LOTW_QSLSDATE`) AS `COL_LOTW_QSLSDATE`');
$this->db->select('ANY_VALUE(`COL_LOTW_QSL_RCVD`) AS `COL_LOTW_QSL_RCVD`');
$this->db->select('ANY_VALUE(`COL_LOTW_QSLRDATE`) AS `COL_LOTW_QSLRDATE`');
$this->db->select('ANY_VALUE(`COL_CONTEST_ID`) AS `COL_CONTEST_ID`');
$this->db->where("(COL_MY_GRIDSQUARE like '%" . $searchphrase . "%' OR COL_MY_VUCC_GRIDS like'%" . $searchphrase ."%')");
$sql = 'SELECT COL_PRIMARY_KEY, COL_CALL, COL_TIME_ON, COL_BAND, COL_SAT_NAME, COL_MODE, COL_SUBMODE, COL_RST_SENT, ';
$sql .= 'COL_RST_RCVD, COL_STX, COL_SRX, COL_STX_STRING, COL_SRX_STRING, COL_COUNTRY, COL_QSL_SENT, COL_QSL_SENT_VIA, ';
$sql .= 'COL_QSLSDATE, COL_QSL_RCVD, COL_QSL_RCVD_VIA, COL_QSLRDATE, COL_EQSL_QSL_SENT, COL_EQSL_QSLSDATE, COL_EQSL_QSLRDATE, ';
$sql .= 'COL_EQSL_QSL_RCVD, COL_LOTW_QSL_SENT, COL_LOTW_QSLSDATE, COL_LOTW_QSL_RCVD, COL_LOTW_QSLRDATE, COL_CONTEST_ID ';
$sql .= 'FROM TABLE_HRD_CONTACTS_V01 WHERE station_id IN (SELECT station_id from station_profile ';
$sql .= 'WHERE station_gridsquare LIKE "%'.$searchphrase.'%") ';
if ($band != 'All') {
if($band != "SAT") {
$this->db->where('COL_PROP_MODE !=', 'SAT');
$this->db->where('COL_BAND', $band);
$sql .= 'AND COL_PROP_MODE != "SAT" AND ';
$sql .= 'COL_BAND = "'.$band.'" ';
} else {
$this->db->where('COL_PROP_MODE', "SAT");
$sql .= 'AND COL_PROP_MODE = "SAT"';
}
}
if ($mode != 'All') {
$this->db->where("(COL_MODE='" . $mode . "' OR COL_SUBMODE='" . $mode ."')");
$sql .= ' AND COL_MODE = "'.$mode.'" OR COL_SUBMODE="'.$mode.'"';
}
$this->db->group_by("COL_CALL, COL_TIME_ON");
$this->db->order_by("COL_TIME_ON", "desc");
$this->db->limit(500);
$sql .= ' ORDER BY COL_TIME_ON DESC LIMIT 500';
return $this->db->get($this->config->item('table_name'));
return $this->db->query($sql);
}
public function vucc_qso_details($gridsquare, $band) {