我被困在编码点火器中向点燃数据表添加列。这是我尝试过的:
用于生成数据表的模型函数
$this->datatables->select('id,status')
->unset_column('id')
->add_column('addinfoqty',get_addinfoqty('$1'),'id')
->from('crm_listings');
return $this->datatables->generate();
现在我创建了帮助函数get_addinfoqty
从数据库返回值
这是我的辅助函数
function get_addinfoqty($id)
{
$CI = & get_instance();
$qry = "select id from crm_listings where id='$id'";
$query = $CI->db->query($qry);
$cnt = 0;
foreach ($query->result_array() as $row)
{
$cnt= 1;
}
$html = '.$cnt.';
return $html;
}
如何执行此查询以返回 id 是否存在?它始终返回 0;注意:当我返回$qry
时,它给了我正确的查询,但我无法运行它来获取其值。
将代码更改为以下内容:
$this->datatables->select('id,status')
->add_column('addinfoqty','$1',get_addinfoqty('id'))
->from('crm_listings');
echo $this->datatables->generate();
看我自己的代码
这是我的助手方法
if (! function_exists('human_filesize')) {
function human_filesize($bytes, $decimals = 2)
{
// var_dump($bytes);die;
$bytes = (float) $bytes;
$sz = 'BKMGTP';
$factor = floor((strlen($bytes) - 1) / 3);
return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . @$sz[$factor];
}
}
在点燃的数据表中
$this->load->library('datatables');
$this->datatables->select("name, filename, filesize, created_at, url")
->from('sma_documents')
->add_column("Actions", base_url('$1'), "url");
$this->datatables->edit_column("filesize", '$1', "human_filesize('filesize')");
echo $this->datatables->generate();
应使用 " (引号)
所以在你的代码中应该是
$this->datatables->select('id,status')
->add_column('addinfoqty','$1',"get_addinfoqty('id')")
->from('crm_listings');
echo $this->datatables->generate();