这是我的代码:
foreach($jobs->result() as $job)
{
$table_data_rows.=get_jobs_data_row($job, $controller);
}
function get_jobs_data_row($job, $controller)
{
if($job[0]) { }
}
当我们在codeigniter
中将单个行作为参数传递给函数时,如何检查特定的行号答案 0 :(得分:0)
在codeigniter中从返回的数据库数据中获取行的方法是$result->row(rowNumber); considering $result contains result of query
(请查看下一页http://ellislab.com/codeigniter/user-guide/database/results.html上的row()部分)
在您的情况下,您可以使用行号的引用传递每一行,如下所示:
$jobs = $this->db->query("YOUR QUERY");
for($i=0; $i<$jobs->num_rows(); $i++)
{
$table_data_rows.=get_jobs_data_row($jobs->row($i), $controller, $i);
}
function get_jobs_data_row($job, $controller, $rowNum)
{
if($rowNum == 0) { return $job; }
}
答案 1 :(得分:0)
这里我不能传递额外的参数,因为当我们直接调用get_jobs_data_row时,这个函数会在几个部分重用,有时它会抛出错误。
因此我发现自己要使用主键进行检查。
例如:
function get_jobs_data_row($job, $controller)
{
$key = $job->jobs_id;
$controller->db->select_sum('pure');
$sum_qry = $controller->db->get_where('jobs', array('jobs_id <= ' => $key));
//code to retrieve
}