2017-11-18 170 views
0

我在git集线器上得到这个库数据,这是点燃的数据。为什么函数if/else在Datatables CI中不起作用(使用Ignited)

好了,我的代码在我的控制器,

function json_survey(){ 
     header('Content-Type: application/json'); 
     $this->load->library('Datatables'); 
     $this->load->helper('datatables_helper'); 
     $this->datatables->SELECT('id_survey,judul_survey,status_survey,responden,detail_target,judul_kategori,judul_target'); 
     $dataids = array('id_survey'=> '$1','status_survey'=> '$2'); 
     $this->datatables->add_column('action',tombol_survey($dataids), 'id_survey,status_survey'); 
     $this->datatables->FROM('survey'); 
     $this->datatables->JOIN('kategori','survey.id_kategori=kategori.id_kategori'); 
     $this->datatables->JOIN('target','survey.id_target=target.id_target'); 


     return print_r($this->datatables->generate('json','')); 
    } 

,我有代码MUY助手用函数来创建按钮的if/else

function tombol_survey($ids) 
    { 
     $ci = & get_instance(); 
     if(!empty($ids)){ 
      $html = '<span class="actions">'; 
      if($ids['status_survey']=='terbit'){ 
       $html .= '<a href="' . base_url() . 'survey/edit/'.$ids['id_survey'].'">Tutup</a>'; 
      } 
      if($ids['status_survey']=='tertunda'){ 
       $html .= '<a href="' . base_url() . 'pertanyaan/tambah/'.$ids['id_survey'].'">Tambah</a>'; 
      } 
      if($ids['status_survey']=='tutup'){ 
       $html .= 'Hapus | '; 
      } 
      $html .= '<a href="' . base_url() . 'pertanyaan/tambah/' .$ids['id_survey']. '">Test</a>'; 
      $html .= '</span>'; 

      return $html; 
     } 
    } 

我的问题,如果功能不工作但包含2个参数(id_survey & status_survey)。 请帮我先生

看我的照片 Pic

+0

你需要调试 - $的数据ID - 用var_dump($的数据ID),并检查它... – TimBrownlaw

+0

什么是$ html返回? – TimBrownlaw

+0

html return是按钮的返回代码

回答

0

您需要执行一些简单的调试...

如果您在本执行的var_dump您此行

$dataids = array('id_survey'=> '$1','status_survey'=> '$2'); 

像...

$dataids = array('id_survey'=> '$1','status_survey'=> '$2'); 
var_dump($dataids); 

你会得到

array (size=2) 
    'id_survey' => string '$1' (length=2) 
    'status_survey' => string '$2' (length=2) 

这些都不是你的任何的if/else测试,所以他们没有人会评估。

你的HTML将评估是

</pre><span class="actions"><a href="http://cidev315.com/pertanyaan/tambah/$1">Test</a></span> 

所以第一件事情是从该行,使其成为去除引号更改代码...

$dataids = array('id_survey'=> $1,'status_survey'=> $2); 

,但我不能看到您正在设置$ 1和$ 2的值。

所以对于初学者删除大约$ 1和$ 2的报价...他们是变量 - 不是字符串...

+0

错误'ParseError'先生如果没有引用...在datatabes $ 1是id_survey类型数据整数和$ 2是status_survey类型数据枚举先生 –

+0

然后使用双引号。双引号将评估$ 1和$ 2 ...单引号不计算变量,只是返回实际的字符串... – TimBrownlaw

+0

id_survey和状态调查($ 1,$ 2)包括在内,我调试窗体帮手这个值包括....但是当我修改功能如果/其他不工作 –

相关问题