Started Custom Stats /statistics/custom works for vhf and up #94

这个提交包含在:
Peter Goodhall 2012-04-23 17:35:19 +01:00
父节点 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)
{

查看文件

@ -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>