Started Custom Stats /statistics/custom works for vhf and up #94
这个提交包含在:
父节点
b335c01cbd
当前提交
c1e603a031
共有 5 个文件被更改,包括 211 次插入 和 51 次删除
|
|
@ -62,6 +62,9 @@ class Statistics extends CI_Controller {
|
|||
|
||||
$this->load->library('form_validation');
|
||||
|
||||
$this->form_validation->set_rules('start_date', 'Start Date', 'required');
|
||||
$this->form_validation->set_rules('end_date', 'End Date', 'required');
|
||||
|
||||
if ($this->form_validation->run() == FALSE)
|
||||
{
|
||||
$this->load->view('layout/header', $data);
|
||||
|
|
@ -70,7 +73,16 @@ class Statistics extends CI_Controller {
|
|||
}
|
||||
else
|
||||
{
|
||||
$this->load->view('formsuccess');
|
||||
|
||||
$this->load->model('stats');
|
||||
|
||||
$data['result'] = $this->stats->result();
|
||||
|
||||
|
||||
$this->load->view('layout/header', $data);
|
||||
$this->load->view('statistics/custom_result');
|
||||
$this->load->view('layout/footer');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -373,7 +373,7 @@ class Logbook_model extends CI_Model {
|
|||
|
||||
/* Return total number of Digital QSOs */
|
||||
function total_digi() {
|
||||
$query = $this->db->query('SELECT COUNT( * ) as count FROM '.$this->config->item('table_name').' WHERE COL_MODE != \'SSB\' AND COL_MODE != \'LSB\' AND COL_MODE != \'USB\' AND COL_MODE != \'CW\' AND COL_MODE != \'FM\'');
|
||||
$query = $this->db->query('SELECT COUNT( * ) as count FROM '.$this->config->item('table_name').' WHERE COL_MODE != \'SSB\' AND COL_MODE != \'LSB\' AND COL_MODE != \'USB\' AND COL_MODE != \'CW\' AND COL_MODE != \'FM\' AND COL_MODE != \'AM\'');
|
||||
|
||||
if ($query->num_rows() > 0)
|
||||
{
|
||||
|
|
|
|||
80
application/models/stats.php
普通文件
80
application/models/stats.php
普通文件
|
|
@ -0,0 +1,80 @@
|
|||
<?php
|
||||
|
||||
class Stats extends CI_Model {
|
||||
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
function result() {
|
||||
$this->db->select('COL_CALL, COL_BAND, COL_TIME_ON, COL_RST_RCVD, COL_RST_SENT, COL_MODE, COL_NAME, COL_COUNTRY, COL_PRIMARY_KEY, COL_SAT_NAME');
|
||||
|
||||
$this->db->where('COL_TIME_ON >=', $this->input->post('start_date'));
|
||||
$this->db->where('COL_TIME_OFF <=', $this->input->post('end_date'));
|
||||
|
||||
if($this->input->post('band_6m') == "6m") {
|
||||
$this->db->where('COL_BAND', $this->input->post('band_6m'));
|
||||
}
|
||||
|
||||
if($this->input->post('band_2m') == "2m") {
|
||||
$this->db->where('COL_BAND', $this->input->post('band_2m'));
|
||||
}
|
||||
|
||||
if($this->input->post('band_70cm') == "70cm") {
|
||||
$this->db->where('COL_BAND', $this->input->post('band_70cm'));
|
||||
}
|
||||
|
||||
if($this->input->post('band_23cm') == "23cm") {
|
||||
$this->db->where('COL_BAND', $this->input->post('band_23cm'));
|
||||
}
|
||||
|
||||
if($this->input->post('band_3cm') == "3cm") {
|
||||
$this->db->where('COL_BAND', $this->input->post('band_3cm'));
|
||||
}
|
||||
|
||||
// Select Voice QSOs
|
||||
if($this->input->post('mode_data') == "data") {
|
||||
if($this->input->post('mode_ssb') != "ssb") {
|
||||
$this->db->where('COL_MODE !=', 'SSB');
|
||||
$this->db->where('COL_MODE !=', 'LSB');
|
||||
$this->db->where('COL_MODE !=', 'USB');
|
||||
}
|
||||
if($this->input->post('mode_cw') != "cw") {
|
||||
$this->db->where('COL_MODE !=', 'CW');
|
||||
}
|
||||
if($this->input->post('mode_fm') != "fm") {
|
||||
$this->db->where('COL_MODE !=', 'FM');
|
||||
}
|
||||
if($this->input->post('mode_am') != "am") {
|
||||
$this->db->where('COL_MODE !=', 'AM');
|
||||
}
|
||||
}
|
||||
|
||||
// Select Voice QSOs
|
||||
if($this->input->post('mode_ssb') == "ssb") {
|
||||
$this->db->where('COL_MODE', $this->input->post('mode_ssb'));
|
||||
$this->db->or_where('COL_MODE', 'USB');
|
||||
$this->db->or_where('COL_MODE', 'LSB');
|
||||
}
|
||||
|
||||
// Select CW QSOs
|
||||
if($this->input->post('mode_cw') == "cw") {
|
||||
$this->db->where('COL_MODE', $this->input->post('mode_ssb'));
|
||||
}
|
||||
|
||||
// Select FM QSOs
|
||||
if($this->input->post('mode_fm') == "fm") {
|
||||
$this->db->where('COL_MODE', $this->input->post('mode_ssb'));
|
||||
}
|
||||
|
||||
// Select AM QSOs
|
||||
if($this->input->post('mode_am') == "am") {
|
||||
$this->db->where('COL_MODE', $this->input->post('mode_am'));
|
||||
}
|
||||
|
||||
return $this->db->get($this->config->item('table_name'));
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
<script>
|
||||
$(function() {
|
||||
$( "#start_date" ).datepicker();
|
||||
$( "#end_date" ).datepicker();
|
||||
$( "#start_date" ).datepicker({ dateFormat: "yy-mm-dd" });
|
||||
$( "#end_date" ).datepicker({ dateFormat: "yy-mm-dd" });
|
||||
});
|
||||
</script>
|
||||
|
||||
|
|
@ -24,10 +24,6 @@
|
|||
<?php echo validation_errors(); ?>
|
||||
|
||||
<?php echo form_open('statistics/custom'); ?>
|
||||
|
||||
<form method="post" action="testing.php" id="test" name="test">
|
||||
|
||||
</form>
|
||||
|
||||
<div class="type">
|
||||
<h3>Date</h3>
|
||||
|
|
@ -46,50 +42,18 @@
|
|||
|
||||
<div class="type">
|
||||
<h3>Band</h3>
|
||||
<select name="band" class="band">
|
||||
<option value="">Select</option>
|
||||
<option value="HF" <?php if($this->session->userdata('band') == "HF") { echo "selected=\"selected\""; } ?>>HF</option>
|
||||
<option value="VHF" <?php if($this->session->userdata('band') == "VHF") { echo "selected=\"selected\""; } ?>>VHF</option>
|
||||
<option value="UHF" <?php if($this->session->userdata('band') == "UHF") { echo "selected=\"selected\""; } ?>>UHF</option>
|
||||
<option value="VHF/UHF" <?php if($this->session->userdata('band') == "VHF") { echo "selected=\"selected\""; } ?>>VHF</option>
|
||||
<option value="160m" <?php if($this->session->userdata('band') == "160m") { echo "selected=\"selected\""; } ?>>160m</option>
|
||||
<option value="80m" <?php if($this->session->userdata('band') == "80m") { echo "selected=\"selected\""; } ?>>80m</option>
|
||||
<option value="60m" <?php if($this->session->userdata('band') == "60m") { echo "selected=\"selected\""; } ?>>60m</option>
|
||||
<option value="40m" <?php if($this->session->userdata('band') == "40m") { echo "selected=\"selected\""; } ?>>40m</option>
|
||||
<option value="30m" <?php if($this->session->userdata('band') == "30m") { echo "selected=\"selected\""; } ?>>30m</option>
|
||||
<option value="20m" <?php if($this->session->userdata('band') == "20m") { echo "selected=\"selected\""; } ?>>20m</option>
|
||||
<option value="17m" <?php if($this->session->userdata('band') == "17m") { echo "selected=\"selected\""; } ?>>17m</option>
|
||||
<option value="15m" <?php if($this->session->userdata('band') == "15m") { echo "selected=\"selected\""; } ?>>15m</option>
|
||||
<option value="12m" <?php if($this->session->userdata('band') == "12m") { echo "selected=\"selected\""; } ?>>12m</option>
|
||||
<option value="10m" <?php if($this->session->userdata('band') == "10m") { echo "selected=\"selected\""; } ?>>10m</option>
|
||||
<option value="6m" <?php if($this->session->userdata('band') == "6m") { echo "selected=\"selected\""; } ?>>6m</option>
|
||||
<option value="4m" <?php if($this->session->userdata('band') == "4m") { echo "selected=\"selected\""; } ?>>4m</option>
|
||||
<option value="2m" <?php if($this->session->userdata('band') == "2m") { echo "selected=\"selected\""; } ?>>2m</option>
|
||||
<option value="70cm" <?php if($this->session->userdata('band') == "70cm") { echo "selected=\"selected\""; } ?>>70cm</option>
|
||||
<option value="23cm" <?php if($this->session->userdata('band') == "23cm") { echo "selected=\"selected\""; } ?>>23cm</option>
|
||||
<option value="13cm" <?php if($this->session->userdata('band') == "14cm") { echo "selected=\"selected\""; } ?>>13cm</option>
|
||||
<option value="9cm" <?php if($this->session->userdata('band') == "9cm") { echo "selected=\"selected\""; } ?>>9cm</option>
|
||||
<option value="3cm" <?php if($this->session->userdata('band') == "3cm") { echo "selected=\"selected\""; } ?>>3cm</option>
|
||||
</select></td>
|
||||
<input type="checkbox" name="band_6m" value="6m" /> 6m
|
||||
<input type="checkbox" name="band_2m" value="2m" /> 2m
|
||||
<input type="checkbox" name="band_70cm" value="70cm" /> 70cm
|
||||
<input type="checkbox" name="band_23cm" value="23cm" /> 23cm
|
||||
<input type="checkbox" name="band_3cm" value="3cm" /> 3cm
|
||||
|
||||
<h3>Mode</h3>
|
||||
<select name="mode" class="mode">
|
||||
<option value="SSB" <?php if($this->session->userdata('mode') == "" || $this->session->userdata('mode') == "SSB") { echo "selected=\"selected\""; } ?>>SSB</option>
|
||||
<option value="AM" <?php if($this->session->userdata('mode') == "AM") { echo "selected=\"selected\""; } ?>>AM</option>
|
||||
<option value="FM" <?php if($this->session->userdata('mode') == "FM") { echo "selected=\"selected\""; } ?>>FM</option>
|
||||
<option value="CW" <?php if($this->session->userdata('mode') == "CW") { echo "selected=\"selected\""; } ?>>CW</option>
|
||||
<option value="RTTY" <?php if($this->session->userdata('mode') == "RTTY") { echo "selected=\"selected\""; } ?>>RTTY</option>
|
||||
<option value="PSK31" <?php if($this->session->userdata('mode') == "PSK31") { echo "selected=\"selected\""; } ?>>PSK31</option>
|
||||
<option value="PSK63" <?php if($this->session->userdata('mode') == "PSK63") { echo "selected=\"selected\""; } ?>>PSK63</option>
|
||||
<option value="JT65" <?php if($this->session->userdata('mode') == "JT65") { echo "selected=\"selected\""; } ?>>JT65</option>
|
||||
<option value="JT65B" <?php if($this->session->userdata('mode') == "JT65B") { echo "selected=\"selected\""; } ?>>JT65B</option>
|
||||
<option value="JT6C" <?php if($this->session->userdata('mode') == "JT6C") { echo "selected=\"selected\""; } ?>>JT6C</option>
|
||||
<option value="JT6M" <?php if($this->session->userdata('mode') == "JT6M") { echo "selected=\"selected\""; } ?>>JT6M</option>
|
||||
<option value="FSK441" <?php if($this->session->userdata('mode') == "FSK441") { echo "selected=\"selected\""; } ?>>FSK441</option>
|
||||
<option value="JTMS" <?php if($this->session->userdata('mode') == "JTMS") { echo "selected=\"selected\""; } ?>>JTMS</option>
|
||||
<option value="ISCAT" <?php if($this->session->userdata('mode') == "ISCAT") { echo "selected=\"selected\""; } ?>>ISCAT</option>
|
||||
<option value="PKT" <?php if($this->session->userdata('mode') == "PKT") { echo "selected=\"selected\""; } ?>>PKT</option>
|
||||
</select>
|
||||
<input type="checkbox" name="mode_ssb" value="ssb" /> SSB
|
||||
<input type="checkbox" name="mode_cw" value="cw" /> CW
|
||||
<input type="checkbox" name="mode_data" value="data" /> Data
|
||||
<input type="checkbox" name="mode_fm" value="FM" /> FM
|
||||
<input type="checkbox" name="mode_am" value="AM" /> AM
|
||||
</div>
|
||||
|
||||
<div class="type">
|
||||
|
|
@ -100,7 +64,7 @@
|
|||
<div class="clear"></div>
|
||||
|
||||
|
||||
</form
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,104 @@
|
|||
<script>
|
||||
$(function() {
|
||||
$( "#start_date" ).datepicker({ dateFormat: "yy-mm-dd" });
|
||||
$( "#end_date" ).datepicker({ dateFormat: "yy-mm-dd" });
|
||||
});
|
||||
</script>
|
||||
|
||||
<div id="container">
|
||||
|
||||
<h2><?php echo $page_title; ?></h2>
|
||||
|
||||
<ul class="tabs">
|
||||
<li><a href="statistics">General</a></li>
|
||||
<li><a href="statistics">Satellite Contacts</a></li>
|
||||
<li class="active"><a href="statistics/custom">Custom</a></li>
|
||||
</ul>
|
||||
|
||||
<p>This is a work in-progress</p>
|
||||
|
||||
<div id="filter_box">
|
||||
|
||||
<h2>Options</h2>
|
||||
|
||||
<?php echo validation_errors(); ?>
|
||||
|
||||
<?php echo form_open('statistics/custom'); ?>
|
||||
|
||||
<div class="type">
|
||||
<h3>Date</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<td>Start</td>
|
||||
<td><input type="text" id="start_date" name="start_date" value="" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>End</td>
|
||||
<td><input type="text" id="end_date" name="end_date" value="" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="type">
|
||||
<h3>Band</h3>
|
||||
<input type="checkbox" name="band_6m" value="6m" /> 6m
|
||||
<input type="checkbox" name="band_2m" value="2m" /> 2m
|
||||
<input type="checkbox" name="band_70cm" value="70cm" /> 70cm
|
||||
<input type="checkbox" name="band_23cm" value="23cm" /> 23cm
|
||||
<input type="checkbox" name="band_3cm" value="3cm" /> 3cm
|
||||
|
||||
<h3>Mode</h3>
|
||||
<input type="checkbox" name="mode_ssb" value="ssb" /> SSB
|
||||
<input type="checkbox" name="mode_cw" value="cw" /> CW
|
||||
<input type="checkbox" name="mode_data" value="data" /> Data
|
||||
<input type="checkbox" name="mode_fm" value="FM" /> FM
|
||||
<input type="checkbox" name="mode_am" value="AM" /> AM
|
||||
</div>
|
||||
|
||||
<div class="type">
|
||||
<p>Finished your selection? time to search!</p>
|
||||
<input type="submit" class="btn primary" name="submit" value="Search" />
|
||||
</div>
|
||||
|
||||
<div class="clear"></div>
|
||||
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="results">
|
||||
<table width="100%">
|
||||
<tr class="titles">
|
||||
<td>Date</td>
|
||||
<td>Time</td>
|
||||
<td>Call</td>
|
||||
<td>Mode</td>
|
||||
<td>Sent</td>
|
||||
<td>Recv</td>
|
||||
<td>Band</td>
|
||||
<td>Country</td>
|
||||
</tr>
|
||||
|
||||
<?php $i = 0; foreach ($result->result() as $row) { ?>
|
||||
<?php echo '<tr class="tr'.($i & 1).'">'; ?>
|
||||
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date('d/m/y', $timestamp); ?></td>
|
||||
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date('H:i', $timestamp); ?></td>
|
||||
<td><a class="qsobox" href="<?php echo site_url('logbook/view')."/".$row->COL_PRIMARY_KEY; ?>"><?php echo strtoupper($row->COL_CALL); ?></a></td>
|
||||
<td><?php echo $row->COL_MODE; ?></td>
|
||||
<td><?php echo $row->COL_RST_SENT; ?></td>
|
||||
<td><?php echo $row->COL_RST_RCVD; ?></td>
|
||||
<?php if($row->COL_SAT_NAME != null) { ?>
|
||||
<td><?php echo $row->COL_SAT_NAME; ?></td>
|
||||
<?php } else { ?>
|
||||
<td><?php echo $row->COL_BAND; ?></td>
|
||||
<?php } ?>
|
||||
<td><?php echo $row->COL_COUNTRY; ?></td>
|
||||
</tr>
|
||||
<?php $i++; } ?>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
正在加载…
在新工单中引用