Merge pull request #297 from dg9vh/dxcc-statistics

Make Awards - DXCC to show only worked band-slots
这个提交包含在:
Peter Goodhall 2019-06-17 11:09:28 +01:00 提交者 GitHub
当前提交 8f546d8203
找不到此签名对应的密钥
GPG 密钥 ID: 4AEE18F83AFDEB23
共有 3 个文件被更改,包括 56 次插入47 次删除

查看文件

@ -22,6 +22,7 @@ class Awards extends CI_Controller {
//echo "Needs Developed";
$this->load->model('dxcc');
$data['dxcc'] = $this->dxcc->show_stats();
$data['worked_bands'] = $this->dxcc->get_worked_bands();
// Render Page
$data['page_title'] = "Awards - DXCC";

查看文件

@ -2,26 +2,7 @@
class DXCC extends CI_Model {
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function show_stats(){
$data = $this->db->query(
"select COL_COUNTRY, COL_MODE, lcase(COL_BAND) as COL_BAND, count(COL_COUNTRY) as cnt
from TABLE_HRD_CONTACTS_V01
group by COL_COUNTRY, COL_MODE, COL_BAND"
);
$results = array();
$last_country = "";
foreach($data->result() as $row){
if ($last_country != $row->COL_COUNTRY){
// new row
$results[$row->COL_COUNTRY] = array("160m"=>0,
public $bandslots = array("160m"=>0,
"80m"=>0,
"60m"=>0,
"40m"=>0,
@ -41,6 +22,48 @@ class DXCC extends CI_Model {
"6cm"=>0,
"3cm"=>0,
"1.25cm"=>0);
function __construct()
{
// Call the Model constructor
parent::__construct();
}
function get_worked_bands() {
// get all worked slots from database
$data = $this->db->query(
"SELECT distinct LOWER(`COL_BAND`) as `COL_BAND` FROM `TABLE_HRD_CONTACTS_V01`"
);
$worked_slots = array();
foreach($data->result() as $row){
array_push($worked_slots, $row->COL_BAND);
}
// bring worked-slots in order of defined $bandslots
$results = array();
foreach(array_keys($this->bandslots) as $slot) {
if(in_array($slot, $worked_slots)) {
array_push($results, $slot);
}
}
return $results;
}
function show_stats(){
$data = $this->db->query(
"select COL_COUNTRY, COL_MODE, lcase(COL_BAND) as COL_BAND, count(COL_COUNTRY) as cnt
from TABLE_HRD_CONTACTS_V01
group by COL_COUNTRY, COL_MODE, COL_BAND"
);
$results = array();
$last_country = "";
foreach($data->result() as $row){
if ($last_country != $row->COL_COUNTRY){
// new row
$results[$row->COL_COUNTRY] = $this->bandslots;
$last_country = $row->COL_COUNTRY;
}

查看文件

@ -6,45 +6,30 @@
<?php $this->load->view("awards/nav_bar")?>
<table class="table table-striped table-hover">
<thead>
<tr>
<td style="width:225px">Country (<?php echo count($dxcc)?>)</td>
<td>160m</td>
<td>80m</td>
<td>60m</td>
<td>40m</td>
<td>30m</td>
<td>20m</td>
<td>17m</td>
<td>15m</td>
<td>12m</td>
<td>10m</td>
<td>6m</td>
<td>4m</td>
<td>2m</td>
<td>70cm</td>
<td>23cm</td>
<td>13cm</td>
<td>9cm</td>
<td>6cm</td>
<td>3cm</td>
<td>1.25cm</td>
<?php
foreach ($worked_bands as $slot) {
echo " <td>$slot</td>\n";
}
?>
</tr>
</thead>
<tbody>
<?php
foreach($dxcc as $country=>$val){
print("<tr><td>$country</td>");
foreach($val as $band=>$count){
if (in_array($band, $worked_bands)) {
if ($count == 0){
print("<td>&nbsp;</td>");
}else{
printf("<td><a href='dxcc_details?Country=\"%s\"&Band=\"%s\"'>%d</a></td>", str_replace("&", "%26", $country), $band, $count);
}
}
}
print("</tr>");
}