[eluser]CI_Newb[/eluser]
I have a submenu item in my application that does some really simple queries to display the total rows for 6 different items.
All query the same db with slight changes.
Model
Code:
<?php
class Sub_model extends Model
{
function user_stats_today()
{
$cur_date = date ('Y-m-d');
$this->db->select('date');
$this->db->where('username', $this->session->userdata('username'));
$this->db->where('date', $cur_date);
$data = $this->db->get('my_db');
return $data;
}
function user_stats_yesterday()
{
$yesterday = date ("Y-m-d", time() -86400);
$this->db->select('date');
$this->db->where('username', $this->session->userdata('username'));
$this->db->where('date', $yesterday);
$data = $this->db->get('my_db');
return $data;
}
function user_stats_resolved()
{
$cur_date = date ('Y-m-d');
$this->db->select('date');
$this->db->where('username', $this->session->userdata('username'));
$this->db->where('date', $cur_date);
$this->db->where('resolution', 'Resolved');
$data = $this->db->get('my_db');
return $data;
}
function user_stats_dispatched()
{
$cur_date = date ('Y-m-d');
$this->db->select('date');
$this->db->where('username', $this->session->userdata('username'));
$this->db->where('date', $cur_date);
$this->db->where('resolution', 'Dispatched');
$data = $this->db->get('my_db');
return $data;
}
function user_stats_abandons()
{
$cur_date = date ('Y-m-d');
$this->db->select('date');
$this->db->where('username', $this->session->userdata('username'));
$this->db->where('date', $cur_date);
$this->db->where('level1', 'Abandon');
$data = $this->db->get('my_db');
return $data;
}
function user_stats_month()
{
$year_month = date ('Y-m');
$this->db->select('date');
$this->db->where('username', $this->session->userdata('username'));
$this->db->like('date', $year_month);
$data = $this->db->get('my_db');
return $data;
}
}
Controller
Code:
function index()
{
$data = array();
$data['us_today'] = $this->sub_model->user_stats_today();
$data['us_yesterday'] = $this->sub_model->user_stats_yesterday();
$data['us_resolved'] = $this->sub_model->user_stats_resolved();
$data['us_dispatched'] = $this->sub_model->user_stats_dispatched();
$data['us_abandons'] = $this->sub_model->user_stats_abandons();
$data['us_month'] = $this->sub_model->user_stats_month();
$this->load->view(submenu_view, $data);
}
View
Code:
<b>Today</b> <?php echo $us_today->num_rows(); ?>
<br>
<b>Resolved</b> <?php echo $us_resolved->num_rows(); ?>
<br>
<b>Dispatched</b> <?php echo $us_dispatched->num_rows(); ?>
<br>
<b>Abandons</b> <?php echo $us_abandons->num_rows(); ?>
<br>
<b>Yesterday</b> <?php echo $us_yesterday->num_rows(); ?>
<br>
<b><?php echo $cur_month_name; ?></b> <?php echo $us_month->num_rows(); ?>
This looks sloppy and overdone. How can I better optimize the code and queries?