2016-04-14 15 views
0

view image Aslında ben sonucunu görüntülemek istediğiniz, ancak herhangi bir yardımcı olabilir seçme düğmesine nasıl kullanılacağını bana konuyuEkran sonucu 3.0

Bu benim modeli olduğunu gidermek

function overviews($theYear = '', $theMonth = '') 
{ 

$this->db->select("DATEPART(Year, TRANS_TransactionDate) [TheYear], DATEPART(Month, TRANS_TransactionDate) [TheMonth], DATENAME(Month, TRANS_TransactionDate) [TheMonthName], SUM(TRANS_Amount) [TotalAmount]", false); 
$this->db->from('BTBL_Transactions'); 

if ($theYear != '') { 
    $this->db->where("DATEPART(Year, TRANS_TransactionDate) = '" . $theYear . "'", NULL, FALSE); 
} 

if ($theMonth != '') { 
    $this->db->where("DATEPART(Month, TRANS_TransactionDate) = '" . $theMonth . "'", NULL, FALSE); 
} 

$this->db->group_by("DATEPART(Year, TRANS_TransactionDate), DATEPART(Month, TRANS_TransactionDate), DATENAME(Month, TRANS_TransactionDate)"); 
$this->db->order_by("1", "asc"); 
$this->db->order_by("2", "asc"); 
$this->db->order_by("3", "asc"); 

$query = $this->db->get(); 

return $query->result(); 
} 

public function merchant_type_dropdown(){ 
$this->db->distinct(); 
    $this->db->select('TRANS_MerchantId'); 
    $this->db->from('BTBL_Transactions'); 
    $query= $this->db->get(); 
    // echo $this->db->last_query();die(); 
    if($query->num_rows()>0){ 
         $result=$query->result(); 
         return $result; 

    } 
    else{ 
     return false; 
    } 

} 

public function Year_dropdown(){ 
$this->db->distinct(); 
    $this->db->select('DATEPART(Year, TRANS_TransactionDate) [TheYear]'); 
    $this->db->from('BTBL_Transactions'); 
    $query= $this->db->get(); 
    // echo $this->db->last_query();die(); 
    if($query->num_rows()>0){ 
         $result=$query->result(); 
         return $result; 

    } 
    else{ 
     return false; 
    } 

} 

Ve Bu benim Kontrolör

public function overviews() 
{ 
$this->load->model('livemerchant_model'); 
$name=$this->session->userdata('name'); 
$data['monthlyTotals'] = $this->livemerchant_model- >overviews($theyear=''); 
$this->load->view('overviews', $data); 
} 

olan bu benim bakış dosya

olduğunu
<label class="tp-label">Select a year</label> 
                   <select> 
                   <?php $year=$this->livemerchant_model->Year_dropdown(); 

          foreach ($year as $row){ 
          ?> 
          <option value="<?php echo $row->TheYear ?>"><?php echo $row->TheYear ?></option> 
         <!--- <option value="tier_two">MPOS</option> 
          <option value="tier_three">E-Commerce</option> 
          <option value="tier_four">Virtual Machine</option>---> 
          <?php }?> 
                   </select> 

Satıcı Kimliği

                <?php $merchanttype=$this->livemerchant_model->merchant_type_dropdown(); 

          foreach ($merchanttype as $merchant){ 
          ?> 
          <option value="<?php echo $merchant->TRANS_MerchantId ?>"><?php echo $merchant->TRANS_MerchantId ?></option> 
         <!--- <option value="tier_two">MPOS</option> 
          <option value="tier_three">E-Commerce</option> 
          <option value="tier_four">Virtual Machine</option>---> 
          <?php }?> 
+0

Satıcı kimliğini ve yılı denetleyici işlevlerine geçirin ve bunu, bir işlev deyimiyle model işlevindeki sonuç satırlarını filtrelemek için kullanın. Değerleri iletmek için form gönder veya javascript kullanabilirsiniz. –

cevap

0

ben doğru anlamak tamamen emin değilim, ama burada yapmak istediğiniz düşünmek şeydir. İlk olarak, başka bir isteğe bağlı parametreyi kabul etmek için Model fonksiyonunuzu ayarlamanız gerekecektir.

function overviews($theMerchant = '', $theYear = '', $theMonth = '') 
{ 
    $this->db->select("DATEPART(Year, TRANS_TransactionDate) [TheYear], DATEPART(Month, TRANS_TransactionDate) [TheMonth], DATENAME(Month, TRANS_TransactionDate) [TheMonthName], SUM(TRANS_Amount) [TotalAmount]", false); 
    $this->db->from('BTBL_Transactions'); 

    if ($theYear != '') { 
     $this->db->where("DATEPART(Year, TRANS_TransactionDate) = '" . $theYear . "'", NULL, FALSE); 
    } 

    if ($theMonth != '') { 
     $this->db->where("DATEPART(Month, TRANS_TransactionDate) = '" . $theMonth . "'", NULL, FALSE); 
    } 

    if ($theMerchant != '') { 
     $this->db->where("TRANS_MerchantId", $theMerchant); 
    } 

    $this->db->group_by("DATEPART(Year, TRANS_TransactionDate), DATEPART(Month, TRANS_TransactionDate), DATENAME(Month, TRANS_TransactionDate)"); 
    $this->db->order_by("1", "asc"); 
    $this->db->order_by("2", "asc"); 
    $this->db->order_by("3", "asc"); 

    $query = $this->db->get(); 

    return $query->result(); 
} 

, bağlantıyı görünümünde bir isim niteliği (ve ideal bir kimlik özelliğinin) seçeneğini kutuları vermek zorunda olacak bunu. Örnekler: Bunu yaptığınızda

<select name="transactionYear" id="transactionYear" aria-required="true" required="required"> 

ve ...

<select name="transactionMerchant" id="transactionMerchant" aria-required="true" required="required"> 

, aşağıda gibi denetleyici ayarlayabilirsiniz. Bu sana istediğini vermelidir

public function overviews() 
{ 
    $this->load->model('livemerchant_model'); 

    $name=$this->session->userdata('name'); 

    if ($this->input->post('transactionMerchant')) { 
     $data['monthlyTotals'] = $this->livemerchant_model->overviews($this->input->post('transactionMerchant'), $this->input->post('transactionYear')); 
    } else { 
     $data['monthlyTotals'] = $this->livemerchant_model->overviews(); 
    } 

    $data['merchanttype'] = $this->livemerchant_model->merchant_type_dropdown(); 
    $data['year'] = $this->livemerchant_model->Year_dropdown(); 

    $this->load->view('overviews', $data); 
} 

: O, ben de görünümüne veri aktarmak yerine, senin değişkenler görünümü içinde doldurulan olma ihtimali daha iyi olduğunu size gösteriyorum. Bu yardımcı olur umarım.

+0

Cevabınız için teşekkürler @cfnerd, Temelde ben kod seçiciden yeniyim ama id seçtikten ve hiç şans getirmedikten sonra düştüğümde, görünüm sayfam sekmelerde – ohmygood